Faits: A. Par contrat du 14 décembre 1994, la SI A._ a remis à bail à X._ (ci-après: la locataire) un appartement de deux pièces et demie sis au deuxième étage d'un immeuble dont elle était propriétaire. Le loyer annuel convenu entre les parties était fixé à 6'648 fr., charges non comprises. A l'époque de la conclusion du bail, divers logements de l'immeuble étaient squattés. Au milieu de l'année 2001, Y._ (ci-après: la bailleresse) est devenue propriétaire de l'immeuble en question. Elle a engagé diverses mesures en vue d'obtenir la libération des appartements occupés illicitement et de procéder à leur rénovation ainsi qu'à celle de l'immeuble. Désireuse de pouvoir également remettre à neuf des logements occupés du bâtiment, elle a proposé à ses locataires réguliers de prendre en location les appartements rénovés en échange des leurs. C'est ainsi que le 9 mars 2004, les parties ont conclu un nouveau contrat de bail aux termes duquel la bailleresse louait à la locataire un appartement de trois pièces et demie sis au rez-de-chaussée de l'immeuble, pour un loyer annuel, charges non comprises, de 16'800 fr. pour la période du 15 mars 2004 au 31 mai 2007 et de 17'520 fr. du 1er juin 2007 au 31 mai 2008. A cette occasion, la bailleresse a remis à la locataire un avis officiel de fixation du loyer reprenant les conditions susmentionnées et précisant que le loyer convenu constituait une "adaptation partielle aux loyers usuels dans le quartier, article 269a, lit. a du CO". Le loyer du précédent locataire n'était pas mentionné. B. Le 1er avril 2004, la locataire a saisi la Commission de conciliation en matière de baux et loyers du canton de Genève d'une requête en contestation de son loyer initial, en faisant valoir qu'elle avait accepté de conclure le dernier bail parce qu'elle se trouvait à l'étroit dans l'appartement de deux pièces et demie qu'elle occupait précédemment avec sa fille. Elle a allégué que ce n'était qu'au moment de la signature du bail qu'elle avait eu connaissance du loyer et de l'échelon y relatifs. Elle a indiqué que le loyer initial lui paraissait élevé, dans la mesure où en raison des dispositions légales genevoises applicables à la rénovation de logements, son nouveau loyer n'aurait pas dû dépasser 3'225 fr. la pièce par an, alors qu'il s'élevait à 4'800 fr. par pièce et par année. Elle a également relevé que l'avis officiel de fixation du loyer n'indiquait pas le dernier loyer annuel. Elle a conclu à ce que son loyer annuel initial soit ramené à 11'280 fr., charges non comprises, dès le 15 mars 2004, à ce que l'échelon convenu dès le 1er juin 2007 soit annulé, à ce que la bailleresse soit condamnée à lui rembourser le trop-perçu découlant de la révision du loyer et à ce que sa garantie bancaire soit réduite à 2'820 francs. Le 5 juillet 2004, la locataire a porté la cause, non conciliée, devant le Tribunal des baux et loyers du canton de Genève. Le 25 octobre 2004, elle a brièvement complété sa requête du 1er avril 2004 en faisant valoir que l'état général de l'immeuble, comme celui de son logement, demeurait moyen, ce bâtiment n'étant situé ni dans un quartier calme, ni à proximité de zones de verdure. Dans ses conclusions du 7 novembre 2006, elle a fait valoir, à titre principal, que le loyer initial convenu avec la bailleresse devait être déclaré nul, dans la mesure où il s'avérait contraire aux dispositions de la loi genevoise sur les démolitions, transformations et rénovations de maisons d'habitation (mesures de soutien en faveur des locataires et de l'emploi) du 25 janvier 1996 (LDTR/GE; RSG L 5 20). Subsidiairement, elle a soutenu que ce loyer ne correspondait pas à ceux pratiqués dans le quartier pour des objets analogues; elle n'a fourni aucune indication particulière pour justifier cette allégation, se contentant d'affirmer qu'il revenait à sa bailleresse de démontrer le bien-fondé de sa prétention consistant à fixer son loyer initial à 16'800 fr. au mois de mars 2004 et 17'720 fr. au 1er juin 2007. Par jugement du 18 juin 2007, le Tribunal des baux et loyers a fixé le loyer annuel initial de l'appartement litigieux à 16'800 fr., charges non comprises, dès le 15 mars 2004, et annulé l'échelon de loyers de 17'520 fr. qui devait entrer en vigueur le 1er juin 2007. Par arrêt du 3 mars 2008, la Chambre d'appel en matière de baux et loyers du canton de Genève a rejeté l'appel interjeté par la locataire contre le jugement du 18 juin 2007. Elle a considéré que dans ses diverses écritures au Tribunal des baux et loyers, la locataire avait soutenu que le loyer initial convenu s'avérait contraire aux limites maximales fixées par la LDTR/GE et que l'échelon ultérieur devait lui aussi être déclaré illicite, puisqu'il ne correspondait pas aux loyers pratiqués pour des logements analogues, situés dans le quartier. Plus précisément, la locataire s'était effectivement plainte, dans son écriture du 7 novembre 2006, de ce que ni le loyer initial, ni l'échelon ne correspondaient au montant des loyers pratiqués dans le quartier pour des objets identiques. Cependant, force était de constater que cette écriture avait été déposée tardivement, puisque la cause revenait pour plaider devant le Tribunal des baux et loyers le 13 novembre 2006. Or, l'art. 434 de la loi genevoise de procédure civile du 10 avril 1987 (LPC/GE; E 3 05) ne pouvait avoir pour objet de rendre inopérant l'art. 433 LPC/GE, de sorte que si les parties pouvaient déposer des conclusions motivées dix jours avant la plaidoirie, ce n'était que dans le cadre de faits allégués en temps utile. Dans ces circonstances, c'était manifestement à tort que la locataire reprochait au Tribunal de ne pas avoir statué sur son loyer initial en prenant en compte le critère des loyers comparatifs, dès lors qu'elle s'était limitée à contester la validité de ce loyer initial en invoquant des dispositions de la LDTR/GE. Les premiers juges avaient correctement contrôlé la conformité du loyer initial au regard des dispositions précitées et de l'autorisation de construire délivrée par le département compétent. Dans ces circonstances, ceux-ci n'avaient pas à interpeller les parties quant à la production d'exemples de loyers comparatifs pour statuer sur le loyer initial pertinent. Enfin, la locataire ne pouvait soutenir qu'elle avait développé une argumentation "implicite" selon laquelle son loyer initial n'aurait pas été conforme aux loyers usuels du quartier. En effet, de manière tout-à-fait explicite, elle ne s'était référée à ce critère que pour contester l'échelon ultérieur convenu avec la bailleresse. Dans ces conditions, il apparaissait que le loyer annuel initial de 16'800 fr., charges non comprises, prévu dans le bail n'avait pas été correctement contesté par la locataire, d'ou le rejet de son appel. C. La locataire (la recourante) a interjeté un recours en matière civile au Tribunal fédéral. Elle concluait principalement à l'annulation de l'arrêt du 3 mars 2008 ainsi que du jugement du 18 juin 2007 et à la fixation du loyer annuel de son appartement à 12'621 fr., charges non comprises, dès le 15 mars 2004, à la condamnation de la bailleresse à lui rembourser le trop-perçu de loyer avec intérêt et à la réduction de la garantie bancaire à 3'153 fr., le solde étant libéré en sa faveur. Elle prétendait subsidiairement au renvoi de la cause à la cour cantonale pour complément d'instruction et nouvelle décision, avec suite de frais et dépens. Dans un envoi postérieur au dépôt de son mémoire, elle a également déposé une demande d'assistance judiciaire, qui a été admise par ordonnance du 10 juillet 2008. La bailleresse (l'intimée) a proposé le rejet du recours, sous suite de frais et dépens.