Faits:
A. Y._, personne âgée et handicapée, vivait dans un appartement de 4 pièces dans le canton de Genève. Par contrat de travail conclu oralement prenant effet le 1er septembre 1997, elle a engagé X._ en qualité de domestique nourrie et logée. L'employée, qui était dépourvue de titre de séjour, touchait initialement un salaire mensuel de 1'000 fr., avant d'obtenir une augmentation dès le 1er juillet 2003. A cette date, A.Y._ a repris la gestion des affaires de sa mère et a entrepris des démarches pour procurer à l'employée un permis de séjour et de travail et la déclarer auprès des assurances sociales. Dès 2002, le mari et la petite fille de l'employée ont aussi vécu dans l'appartement de Y._.
L'employée était initialement chargée d'effectuer les tâches ménagères et d'accompagner Y._ dans ses déplacements, effectués en fauteuil roulant. Cette dernière est par la suite devenue totalement impotente suite à une dégradation de son état de santé; elle avait dès lors besoin de soins quotidiens et d'une assistance permanente pour assurer son hygiène, se vêtir, se nourrir et se promener. A l'exception des soins infirmiers qui étaient prodigués par des tiers, l'employée a fourni seule cette assistance sept jours sur sept avec attention, dévouement et gentillesse.
Y._ est morte le 15 août 2006. Il a été convenu avec les deux fils de la défunte, soit A.Y._ et B.Y._, que l'employée et sa famille pourraient continuer de vivre dans l'appartement, nonobstant la fin du contrat de travail. L'employée a payé son loyer mensuel de 880 fr. pour les mois de septembre 2006 à janvier 2007 inclus, puis a cessé tout versement.
Un litige s'en est suivi sur les conditions auxquelles la jouissance de l'appartement avait été consentie. L'employée prétendait avoir une créance salariale en raison d'une rémunération insuffisante entre 1997 et 2003, créance que les héritiers de son employeuse auraient convenu de payer par compensation avec le sous-loyer qu'elle devait acquitter. Ceux-ci ont tout au plus reconnu l'existence d'un accord tendant à différer le paiement du loyer pendant un certain temps en raison de la situation financière de l'employée.
B. Par demande introduite le 31 juillet 2009 devant le Tribunal des prud'hommes du canton de Genève, l'employée a actionné l'hoirie de Y._, soit A.Y._ et B.Y._, en paiement de 67'860 fr. brut plus intérêts.
Par jugement du 23 novembre 2010, le Tribunal des prud'hommes a condamné l'hoirie, soit A.Y._ et B.Y._, à délivrer un certificat de travail à l'employée et à lui payer la somme brute de 34'713 fr. plus intérêts, tout en invitant la partie qui en avait la charge à opérer les déductions sociales, légales et usuelles. En substance, le tribunal a considéré que l'employée, sans qualification particulière, avait exercé son activité à plein temps tout au long de son engagement. Il a déterminé le total des salaires contractuellement dus en se fondant sur les montants minimaux garantis par les contrats-types de travail successivement édictés par le droit genevois pour les travailleurs de l'économie domestique (ci-après: CTT). Le tribunal est arrivé à la conclusion que l'employée avait droit à 75'193 fr. à titre de différence entre les salaires dus et les salaires payés; toutefois, les défendeurs avaient opposé en compensation une créance de loyers impayés qui s'élevait à 40'480 fr. En définitive, les deux héritiers devaient payer un solde de 34'713 fr. plus intérêts.
Ces derniers ont déféré la cause à la Chambre des prud'hommes de la Cour de justice en concluant au rejet de l'action. L'employée n'a pas déposé d'écriture; à l'audience, elle a conclu à la confirmation du jugement.
Dans son arrêt rendu le 10 novembre 2011, la Cour de justice a retenu que l'employée avait travaillé dans un premier temps à 75 % (taux moyen), puis à 100 % dès le 1er juillet 2003. Elle a constaté que les deux héritiers de Y._ devaient la somme de 23'611 fr. à titre de différence entre les salaires dus et les salaires payés; toutefois, cette somme avait été entièrement acquittée par compensation avec la dette de loyer contractée par l'employée. Les frais d'appel ont été répartis à parts égales entre les deux parties adverses.
C. X._ (ci-après: la recourante) a interjeté un "recours en matière de droit civil" auprès du Tribunal fédéral. Sous rubrique "conclusions", elle requiert que l'arrêt de la Cour de justice soit annulé, qu'il soit constaté qu'elle a travaillé à plein temps depuis le début des rapports de travail, soit dès septembre 1997, et que la demande en paiement déposée le 28 juillet 2009 soit déclarée recevable. Dans une écriture annexe, elle a requis d'être dispensée de verser une avance de frais. L'assistance judiciaire partielle lui a été accordée par ordonnance du 31 janvier 2012.
Les intimés ont déposé une réponse, dans laquelle ils concluent principalement à l'irrecevabilité du recours, subsidiairement à son rejet. L'autorité précédente se réfère à son arrêt.

Considérant en droit:
1. 1.1 L'<ref-law> requiert que le mémoire de recours contienne des conclusions. Conformément à ce qui prévalait sous l'ancienne loi d'organisation judiciaire, le recourant doit indiquer précisément quels points de la décision cantonale sont attaqués et quelles sont les modifications demandées (<ref-ruling> consid. 3.1). Lorsque l'action tend au paiement d'une somme d'argent, celle-ci doit obligatoirement être précisée, sous peine d'irrecevabilité. Des conclusions non chiffrées peuvent toutefois suffire, à condition que la somme à allouer soit d'emblée reconnaissable au regard de la motivation du recours ou de la décision attaquée (<ref-ruling> consid. 2). De manière générale, les conclusions doivent être interprétées selon le principe de la confiance, à la lumière de la motivation du recours (<ref-ruling> consid. 1; <ref-ruling> consid. 2a).
A teneur de l'<ref-law>, toute conclusion nouvelle est irrecevable. Sont ainsi prohibées les conclusions augmentées, en particulier celles portant sur un montant plus élevé que celui demandé devant l'autorité précédente.
1.2 Au chapitre intitulé "conclusions", la recourante requiert qu'il soit constaté qu'elle a travaillé à plein temps dès le début des rapports de travail et que sa demande en paiement soit déclarée recevable. Il ressort toutefois clairement de la motivation de son recours qu'elle conteste le calcul de ses prétentions salariales en tant qu'il se fonde sur un taux d'activité de 75 % jusqu'en 2003 et qu'elle prétend, après compensation, au paiement d'un solde de 39'733 fr. Il faut dès lors considérer que le recours tend au paiement du montant précité.
1.3 Devant l'autorité précédente, la recourante avait conclu à la confirmation du jugement de première instance, lequel lui allouait la somme brute de 34'713 fr. plus intérêts à 5 % l'an dès le 1er octobre 2006, sous réserve des déductions sociales, légales et usuelles. En tant qu'elles excèdent ce montant, les conclusions prises devant le Tribunal fédéral sont irrecevables.
1.4 Pour le surplus, le recours satisfait sur le principe aux autres conditions de recevabilité du recours en matière civile (cf. art. 72 al. 1, art. 75, 76 al. 1, art. 90 et art. 100 al. 1 LTF). En particulier, la valeur litigieuse atteint le minimum légal de 15'000 fr. (art. 51 al. 1 let. a et art. 74 al. 1 let. a LTF).
2. 2.1 La recourante reproche aux juges cantonaux d'avoir renoncé à auditionner le pharmacien de quartier et le médecin de Y._, alors que ces témoins auraient permis d'établir que l'état de santé de leur patiente nécessitait l'assistance d'une employée à un taux largement plus élevé qu'un simple plein temps.
2.2 Ni le droit d'être entendu, ni l'<ref-law>, ni la maxime inquisitoire ne s'opposent à ce que le juge procède à une appréciation anticipée des preuves et renonce à ordonner une mesure d'instruction pour le motif qu'elle est manifestement inadéquate, porte sur un fait non pertinent, ou n'est pas de nature à ébranler la conviction que le juge a acquise sur la base des éléments déjà recueillis (<ref-ruling> consid. 5.3; <ref-ruling> consid. 2.2.3 p. 735; <ref-ruling> consid. 3c). L'appréciation (anticipée) des preuves ne peut être revue par le Tribunal fédéral que sous l'angle restreint de l'arbitraire (cf. <ref-ruling> consid. 3 p. 157; <ref-ruling> consid. 4a). Une décision est arbitraire lorsqu'elle se trouve en contradiction claire avec la situation de fait, viole gravement une norme ou un principe juridique indiscuté ou heurte de manière choquante le sentiment de la justice et de l'équité (<ref-ruling> consid. 4.2). La prohibition de l'arbitraire étant de rang constitutionnel (art. 9 Cst.), le recourant doit expressément soulever le grief et exposer de manière claire et circonstanciée, si possible documentée, en quoi ce droit fondamental a été violé (<ref-law>; <ref-ruling> consid. 2.2).
2.3 Le Tribunal des prud'hommes avait renoncé à auditionner trois des témoins proposés par la recourante. Comme l'ancien droit genevois étendait la maxime inquisitoire sociale à tous les litiges de droit du travail sans égard à leur valeur litigieuse, la Cour de justice s'est posé d'office la question d'une telle mesure d'instruction (cf. ancien art. 343 al. 2 et 4 CO; art. 29 et 64 al. 2 de l'ancienne loi genevoise sur la juridiction des prud'hommes, ci-après: aLJP). Elle l'a jugée inutile pour les motifs suivants: le pharmacien avait résumé dans une attestation versée au dossier le peu qu'il avait à dire sur le sujet. Quant au médecin de l'employeuse, il pouvait en tout état refuser de témoigner, à supposer qu'il se souvienne de sa patiente; de surcroît, l'exigence de célérité rappelée à l'art. 11 al. 1 aLJP s'opposait à une possible procédure de levée du secret médical.
2.4 En l'occurrence, la recourante émet de brèves considérations théoriques sur l'appréciation anticipée des preuves en soulignant qu'elle doit être exempte d'arbitraire et que le juge ne peut pas d'emblée écarter une offre de preuve sans motif objectif. Elle se contente ensuite d'affirmer que les juges des prud'hommes ont écarté "sans motif pertinent" l'audition du pharmacien et du médecin de Y._, alors qu'ils étaient les mieux placés pour témoigner de son état de santé, le médecin étant un "témoin-clé".
De telles critiques, de nature appellatoire, ne satisfont pas aux exigences de motivation plus strictes imposées par l'<ref-law>. La recourante ne discute pas les motifs de refus invoqués par la Cour de justice et ne s'attache pas à démontrer qu'ils seraient entachés d'arbitraire. En particulier, elle ne soutient pas que la cour aurait tiré des déductions insoutenables de l'attestation du pharmacien et pronostiqué arbitrairement qu'il n'avait pas de précision à apporter. Elle ne conteste pas non plus les aléas invoqués pour refuser l'audition du médecin. Le grief se révèle dès lors irrecevable.
3. 3.1 La Cour de justice aurait en outre versé dans l'arbitraire en retenant un taux de travail initial de 75 % (taux moyen). Elle aurait fait abstraction des témoignages établissant l'horaire de travail de la recourante et aurait privilégié à tort la version des intimés. L'augmentation de salaire accordée à la recourante en juillet 2003 serait due uniquement à la régularisation de sa situation, et non pas à une augmentation de son taux d'activité. En outre, la cour aurait arbitrairement refusé de considérer comme temps de travail les moments que la recourante consacrait aux courses, aux repas et au nettoyage, sous le prétexte erroné que ces tâches profitaient en premier lieu à la recourante.
3.2 Le Tribunal des prud'hommes a retenu un taux d'activité de 100 % pendant toute la durée de la relation de travail en se fondant sur les éléments suivants: des pièces attestaient que dès 2003, la recourante effectuait au moins 40 heures de travail par semaine. En outre, les témoignages recueillis établissaient qu'en 1998 déjà, elle s'occupait seule de l'employeuse, qui était invalide et avait besoin d'un fauteuil roulant pour se déplacer. Cette dernière avait nécessité des soins soutenus durant l'ensemble de la période d'engagement, et davantage vers la fin de sa vie. La recourante avait assumé seule tous les soins de base à l'exception des soins infirmiers.
La Cour de justice a refusé de suivre cette appréciation. Elle a concédé que l'employeuse était handicapée dès le début des relations contractuelles en 1997 et ne se déplaçait qu'en fauteuil roulant. Cela étant, les parties s'accordaient à dire que son état de santé s'était progressivement dégradé, la recourante mentionnant une impotence complète dès l'année 2000. De surcroît, nombre de services accomplis par la recourante lui profitaient également, puisqu'elle logeait avec son employeuse. Il fallait dès lors retenir un taux d'activité initial de 50 %, augmentant au fil du temps pour atteindre un plein temps au plus tard à la fin du mois de juin 2003. En définitive, la cour d'appel a appliqué un taux d'activité moyen de 75 % pour la première période, puis un taux de 100 % dès le mois de juillet 2003.
3.3 Dans son mémoire, la recourante reprend tels quels les calculs effectués par la Cour de justice pour la seconde période allant de juillet 2003 à août 2006; ceux-ci se fondent sur un emploi à plein temps, sans heures supplémentaires, alors que l'employeuse était devenue totalement impotente. Il faut dès lors tenir pour acquis que la recourante n'effectuait pas plus qu'un travail à plein temps lorsque le handicap de son employeuse est devenu maximal. Cette précision étant apportée, il convient d'examiner les griefs de la recourante.
3.4 La Cour de justice a souligné que le travailleur émettant des prétentions salariales doit prouver la conclusion du contrat, le montant du salaire convenu ou usuel et le taux d'occupation. Une telle affirmation est conforme à l'<ref-law>. A supposer que la recourante ait voulu se plaindre d'un renversement injustifié du fardeau de la preuve, il faudrait constater que le grief n'est pas fondé.
3.5 La recourante ne critique pas à proprement parler le fait d'établir un lien entre son taux d'occupation et l'état de santé de son employeuse, mais soutient que cet état justifiait d'emblée une activité à 100 %. Or, elle a indiqué en audience que son ancienne employeuse était devenue totalement impotente depuis l'année 2000, ce qui revient à dire que son état s'est dégradé après la prise d'emploi, comme le relève la cour d'appel. La recourante ne prétend pas que la cour aurait appliqué arbitrairement l'ancien droit cantonal en tenant compte de déclarations faites dans le cadre de la procédure. Dès lors qu'un taux de travail de 100 % sans heures supplémentaires était retenu lorsque l'impotence de l'employeuse était totale et qu'elle avait besoin de plus d'assistance, il n'était pas arbitraire d'en déduire un taux d'activité moindre avant la dégradation de l'état de santé.
La recourante se prévaut de deux témoignages. Le premier témoin est une infirmière qui a prodigué des soins à Y._ tout au plus pendant les deux derniers mois ayant précédé son décès, survenu en août 2006; ses déclarations sur l'état de la patiente et l'assistance fournie par la recourante à ce moment-là ne permettent donc pas de tirer des déductions pour la période comprise entre 1997 et 2003. Quant au second témoin, soit la voisine de palier, la recourante met en exergue les déclarations suivantes:
"(...) En 1998, Y._ était déjà dans une chaise roulante et c'est la demanderesse [i.e la recourante, réd.] qui s'en occupait tout le temps. Je la voyais n'importe quel jour de la semaine, et à n'importe quelle heure du jour; elle était toujours avec Y._ depuis que je suis dans cet immeuble. Je n'ai jamais vu personne d'autre s'occuper de Y._. (...)"
S'agissant d'une domestique qui logeait au domicile de son employeuse inapte à se déplacer seule, le fait d'être aperçue à n'importe quel moment de la journée et de la semaine n'excluait pas de retenir un taux d'activité inférieur à 100 %. Que les juges de première instance aient tiré d'autres déductions des témoignages recueillis ne démontre pas encore l'existence d'un arbitraire; celui-ci ne résulte pas du seul fait qu'une autre solution serait défendable (<ref-ruling> consid. 2.4).
3.6 Cela étant, la Cour de justice a encore invoqué le motif suivant pour retenir un travail à temps partiel en début de contrat:
"(...) nombre de services accomplis par l'intimée [i.e. la recourante, réd.] lui profitaient également, puisqu'elle logeait avec son employeur. Il est difficile de compter comme heures de travail le temps que l'intimée consacrait aux achats pour le ménage, à la préparation du repas ou au nettoyage, tâches qu'elle effectuait pour elle-même et qui n'étaient pas sensiblement accrues par le fait qu'un tiers en bénéficiait indirectement. (...)"
Au stade de l'état de fait, la Cour de justice a retenu qu'il s'agissait initialement pour la recourante "d'effectuer les tâches ménagères" et d'accompagner l'employeuse dans ses déplacements. Lorsque cette dernière est devenue totalement impotente, son état a nécessité une assistance permanente pour assurer son hygiène, la vêtir, la nourrir, la promener et répondre à ses sollicitations.
Dans la citation susmentionnée, la cour admet que la recourante a effectué le nettoyage, les courses et les repas pour Y._, mais estime qu'il s'agissait d'un profit "indirect" pour l'employeuse. S'agissant d'un contrat onéreux, on ne saurait considérer, sauf preuve du contraire, qu'une employée logée à domicile par son employeuse handicapée aurait effectué à bien plaire une partie des tâches ménagères, sous le simple prétexte que l'accomplissement de ces tâches profitait aussi à l'employée. Le seul fait que l'employeuse n'était pas totalement impotente au début des relations contractuelles et qu'elle ait éventuellement été encore apte à effectuer elle-même quelques tâches ménagères ne constitue pas une preuve contraire suffisante. Il faut dès lors considérer que les "tâches ménagères" contractuellement dues incluaient tous les travaux ménagers courants, notamment le nettoyage, les courses et les repas de Y._.
Dans un tel contexte, il convenait de fixer le taux d'activité initial de l'employée en considérant le temps que requiert, selon l'expérience de la vie, la tenue d'un ménage, repas compris, pour une personne seule, auquel s'ajoutait encore le temps consacré à accompagner l'employeuse dans ses déplacements, et notamment dans ses promenades. Devaient tout au plus être exclus du temps de travail le nettoyage, les courses et le rangement de la (ou des) pièce(s) réservée(s) à l'usage exclusif de l'employée et sa famille.
Au vu de ce qui précède, il apparaît que le taux d'activité initial a été arbitrairement fixé à 50 % dès lors que l'autorité cantonale s'est fondée sur un motif de réduction erroné, à savoir que les services ménagers effectués par la recourante profitaient en premier lieu à celle-ci.
3.7 Se pose encore la question du moment où l'employeuse est devenue totalement impotente. La Cour de justice a retenu une dégradation progressive jusqu'à une incapacité totale survenue au plus tard en juin 2003.
La cour était confrontée à des versions divergentes, la recourante invoquant l'année 2000, les intimés, le 1er juillet 2003. En objectant que la parole des intimés ne vaut pas plus que la sienne, la recourante méconnaît le fait que le fardeau de la preuve de la date de l'incapacité totale lui incombait en tant qu'il était de nature à augmenter ses prétentions salariales. La cour était dès lors fondée à retenir le 1er juillet 2003, la recourante n'ayant pas pu démontrer que l'incapacité totale était survenue antérieurement, son grief relatif au refus d'entendre des témoins étant irrecevable. Pour le surplus, le principe d'un taux moyen tenant compte d'un glissement progressif vers une impotence totale ne prête pas le flanc à la critique.
3.8 En bref, la cause doit être renvoyée à la Cour de justice pour qu'elle fixe le taux d'occupation de la recourante pour la période comprise entre le 1er septembre 1997 et le 30 juin 2003, en appliquant ensuite ce taux aux salaires fixés par le CTT, qui ne sont pas contestés par la recourante (3'100 fr., puis 3'165 fr. dès le 1er février 2000, puis 3'300 fr. dès le 1er juillet 2001). Ne sont pas non plus remis en cause les salaires dus dès le 1er juillet 2003 (39'600 fr. + 61'200 fr. + 27'440 fr.), ni le total des salaires effectivement payés (271'812 fr.).
Sur le solde résultant de la soustraction entre les salaires dus et les salaires payés, il conviendra d'imputer la créance de loyer des intimés. Le Tribunal des prud'hommes a retenu que cette créance s'élevait au jour du jugement à 46 mois de loyer (février 2007 à novembre 2010), soit 40'480 fr. La Cour de justice n'a pas remis en cause cet élément, retenant, à l'instar des premiers juges, que la recourante n'avait payé son sous-loyer que de septembre 2006 à janvier 2007 exclusivement.
La recourante soutient que la dette de loyer ne porterait que sur 45 mois et ne serait que de 39'600 fr.; elle affirme avoir payé le loyer de mai 2010. Cet élément ne ressort toutefois pas de l'état de fait arrêté par les autorités cantonales et n'a pas fait l'objet d'un grief dans le présent recours. Il n'y a dès lors pas de motif de s'écarter du montant de 40'480 fr.
3.9 La Cour de justice se prononcera par ailleurs sur la répartition des frais d'appel.
4. En définitive, le recours est partiellement admis. L'arrêt attaqué est annulé et la cause est renvoyée à l'autorité précédente pour qu'elle rende une nouvelle décision dans le sens des considérants.
La recourante succombe sur plusieurs griefs, mais obtient gain de cause sur un moyen impliquant le renvoi de la cause à l'autorité précédente. Il se justifie dès lors de mettre les frais judiciaires pour moitié à la charge des intimés, solidairement entre eux. La recourante étant au bénéfice de l'assistance judiciaire partielle, elle n'assumera aucun frais.
La recourante a procédé personnellement et ne prétend pas à des dépens. L'assistance judiciaire ne la dispense pas de payer des dépens aux intimés (<ref-ruling> consid. 2c); elle leur versera en l'occurrence une indemnité réduite de moitié (art. 68 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est partiellement admis. L'arrêt attaqué est annulé et la cause est renvoyée à l'autorité précédente pour nouvelle décision dans le sens des considérants.
2. Un émolument judiciaire de 750 fr. est mis à la charge des intimés, solidairement entre eux.
3. La recourante versera aux intimés, créanciers solidaires, une indemnité de 1'000 fr. à titre de dépens réduits.
4. Le présent arrêt est communiqué aux parties et à la Chambre des prud'hommes de la Cour de justice du canton de Genève.
Lausanne, le 14 mai 2012
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente: Klett
La Greffière: Monti