Sabes en segundos si un alimento se puede, va con límite o hay que evitarlo. Lo buscas por su nombre y aparece con color, símbolo y palabra: el límite dice cuánto, y lo que se evita dice por qué y, si es temporal, hasta cuándo.
Buscas «ma» y el semáforo responde: evitar, con límite o se puede¿Esto se puede? La dieta de tu hijo te responde en segundos.
Nutrikids pone en tu teléfono el plan de alimentación que el profesional le hizo a tu hijo, ese documento largo que nadie relee a la hora de la merienda. Lo vuelve una guía viva: qué se puede y qué no, con qué reemplazar lo que falta, qué toca ahora y cómo fue el día.
Buscas «ma» y el semáforo responde: evitar, con límite o se puedeLa manzana en descanso, hasta cuándo y con qué reemplazarlaLa pestaña Rojo: lo que se evita y los aditivos que vigilar en la etiqueta
Funcionalidades del MVP: Contadas contra docs/MANUAL-DE-USO.md y verificadas por un test que compara el total con los bloques .feature del brochure. El marco no-médico (nota de primer uso y disclaimer permanente) no cuenta: es el encuadre de la app, no una funcionalidad.Pantallas de la app: Archivos page.tsx bajo src/app/. La ruta /conoce sirve este brochure y no es una pantalla del producto.Pruebas end-to-end: Salida de `pnpm exec playwright test --workers=1` el 2026-10-27 sobre 69538dc, contra un build de producción con el chat en modo de prueba: 94 pruebas en dos proyectos (móvil Pixel 7 y escritorio), incluidas las de accesibilidad con axe, todas en verde.Cobertura de líneas del motor: v8 sobre src/lib/diet, src/lib/ia y src/lib/rate-limit (422 de 424 líneas), con umbrales del 80 % en vitest.config.ts.Llamadas de red del registro del día: Un e2e recorre marcar, anotar, recargar, cambiar idioma y consultar el historial con un contador que intercepta TODAS las peticiones y bloquea el service worker: cero llamadas a un backend y cero a orígenes externos.
01 · Lo que cambia
Para quién y por qué
Para la familia que cuida a un niño con una dieta médica estricta: la mamá, el papá o quien lo tenga a cargo ese día, que necesita saber qué darle sin abrir el documento y sin improvisar.
No califica al niño: sin calorías, peso, IMC ni percentiles, y sin convertir el «cumplimiento» en una nota. Lo que anotas del día, las horas y las notas sobre tu hijo, no sale del teléfono, ni siquiera hacia el asistente de inteligencia artificial.
02 · El mapa
Un capítulo por grupo: qué resuelve, cuándo te sirve, cómo funciona, sus pantallas y sus fichas.
2.1 · El semáforo: ¿esto se puede?★ La estrellaBusca cualquier alimento y sabe al instante si se puede, cuánto y con qué reemplazarlo · 3 funcionalidades
Qué resuelve
Busca cualquier alimento y sabe al instante si se puede, cuánto y con qué reemplazarlo
Sus piezas 3
Cuando falta un alimento, tienes a la mano con qué reemplazarlo sin salirte del plan. Al tocarlo ves el porqué en palabras simples y los reemplazos que trae tu plan, como «en vez de manzana: pera, kiwi, uvas o fresas».
La manzana en descanso, hasta cuándo y con qué reemplazarlaCompras lo empacado sabiendo qué buscar en la etiqueta. En la pestaña Rojo, la app lista los códigos de aditivo que el plan pide evitar, los que empiezan por E, y en qué productos suelen aparecer.
La pestaña Rojo: lo que se evita y los aditivos que vigilar en la etiqueta2.2 · El día de hoy, en ordenQué toca ahora, qué ya pasó y cómo fue cada comida, anotado en segundos · 6 funcionalidades
Qué resuelve
Qué toca ahora, qué ya pasó y cómo fue cada comida, anotado en segundos
Sus piezas 6
Ves de un vistazo todo lo que toca hoy y lo vas marcando a medida que pasa: cada comida con su horario, el suplemento del día y los vasos de agua. Al día siguiente la lista amanece limpia, sin borrar lo anterior.
La lista del día: suplemento tomado y dos de cuatro vasos de aguaAbres la app y sabes qué toca en este momento y qué sigue. Arriba aparecen la comida de la franja, el suplemento del día si falta y cómo va el agua, sin notificaciones, sin pedir permisos y sin reproches.
«Ahora mismo»: toca la media mañana, sigue el almuerzo y falta el suplementoRecuerdas a qué hora comió de verdad, no a qué hora tocaba. Al marcar una comida, la app anota la hora y la muestra al lado («Hecho · 7:35 a. m.»), como memoria y nunca como calificación.
Al marcar el almuerzo queda la hora real: «Hecho · 12:48 p. m.»Llegas a la cita con el pediatra con lo que pasó en cada comida, sin fiarte de la memoria. Con un toque marcas «Lo rechazó», «Le dolió» o «Tuvo antojo» y, si quieres, escribes una línea que puedes editar o quitar.
Una nota para el almuerzo: «Lo rechazó» y «Solo comió la mitad del arroz»Repasas cómo fueron los últimos días antes de una consulta. El historial queda por fecha, del más reciente al más antiguo, con las horas y las notas de cada comida, y es solo de consulta: no se edita.
Los días anteriores, por fecha, con las horas y las notas de cada comidaSabes qué suplemento toca hoy, en qué dosis y en qué momento. El calendario de lunes a domingo resalta el día de hoy, y la marca de «ya lo tomó» es la misma de la lista del día.
El calendario de suplementos: hoy resaltado y ya tomado2.3 · Un chat que se sabe la dietaPreguntas como le hablarías a alguien que se sabe el plan de memoria, sin que opine de medicina · 4 funcionalidades
Qué resuelve
Preguntas como le hablarías a alguien que se sabe el plan de memoria, sin que opine de medicina
Sus piezas 4
Preguntas «¿la manzana se puede?» y tienes la respuesta al instante, aunque no haya señal. El teléfono la saca de tu plan, sin inteligencia artificial, y la muestra como tarjeta del semáforo con sus reemplazos y la marca «Desde tu plan · sin IA».
«¿La manzana se puede?»: respuesta al instante desde el plan, sin IAPara las preguntas abiertas, como «no tengo pollo, ¿qué le doy?», recibes una idea que respeta la dieta. Un asistente de inteligencia artificial lee el plan y responde solo con lo que este permite; la respuesta va marcada como «Respuesta de IA» y necesita internet.
Pregunta abierta con el asistente de prueba, marcada «Respuesta de IA»El chat no se mete en lo que le toca al médico. Si le preguntas por dosis, medicinas o síntomas, te devuelve con amabilidad al pediatra o al nutricionista. Esa respuesta sale de reglas fijas, antes de consultar a la inteligencia artificial.
Pregunta por una dosis y el chat la devuelve al pediatraLo que le preguntas al chat sobre tu hijo no se queda en la app. Al cerrar o recargar, la conversación queda en blanco, y los registros técnicos solo anotan datos de funcionamiento, nunca lo que escribiste. Es una decisión de privacidad, no un olvido.
Atraviesa toda la app.2.4 · La dieta real, dentro de la appEl plan del profesional entra desde un archivo y toda la app responde con él; antes, una demo para explorar · 3 funcionalidades
Qué resuelve
El plan del profesional entra desde un archivo y toda la app responde con él; antes, una demo para explorar
Sus piezas 3
Toda la app pasa a responder con la dieta real de tu hijo. Eliges el archivo del plan que te compartieron, la app revisa que tenga el formato correcto antes de aceptarlo y te muestra un resumen de lo que encontró.
Un plan sintético cargado: el resumen de lo que la app encontróSi el archivo no abre desde el teléfono, igual cargas la dieta. Copias todo su contenido desde donde te lo enviaron, lo pegas en una caja de texto y la app lo revisa y lo carga como si fuera el archivo.
Plan B: el contenido del archivo, pegado en la caja de textoRecorres toda la app antes de cargar nada, con una dieta de ejemplo inventada. Un letrero siempre visible dice si estás viendo la «Dieta demo» o «Tu dieta», y puedes pasar de una a otra cuando quieras.
Sin dieta cargada, el letrero dice «Dieta demo» y la app se explora con ella2.5 · Tuya y privada, en tu teléfonoSe instala como app, cambia entre español e inglés y lo borra todo cuando tú decidas · 3 funcionalidades
Qué resuelve
Se instala como app, cambia entre español e inglés y lo borra todo cuando tú decidas
Sus piezas 3
La tienes en la pantalla de inicio, con su ícono, como cualquier otra app. Se agrega desde el menú del navegador del teléfono, sin pasar por una tienda de aplicaciones, y abre directo, sin la barra del navegador.
Atraviesa toda la app.Cualquier cuidador la usa en español o en inglés. Un toque cambia toda la interfaz y también el contenido de la dieta, y lo que alguien escribió en una nota se conserva tal cual, sin traducirse.
Un toque en English y la app cambia de idioma, de la cabecera a los ajustesTú decides cuándo no queda rastro en el teléfono. Un botón borra la dieta cargada y todo el registro, con sus marcas, horas y notas, y deja la app otra vez en la demo. Pide confirmación, porque no se puede deshacer.
«Borrar mis datos» pide confirmación antes de borrarlo todo03 · La dieta, viva en el bolsillo
El camino completo. Sin carriles: cada caja dice quién la hace, y las que llevan el ícono de pantalla la muestran.
- Inicio · Quien cuida: Un plan médico en un documento
- Paso · Quien cuida: Carga la dieta del peque
- Paso · Nutrikids: La guarda solo en el teléfono
- Paso · Quien cuida: Pregunta «¿esto se puede?»
- Paso · Nutrikids: Responde desde la dieta, sin red
- Paso · Quien cuida: Registra el día: horas y notas
- Decisión · Quien cuida: ¿Le hace una pregunta abierta?
- Decisión · Nutrikids: ¿Pide dosis, medicinas o síntomas?
- Paso · Nutrikids: Lo devuelve al pediatra, sin IA
- Paso · Nutrikids: Envía la pregunta y el plan, sin el registro
- Paso · El asistente de IA: Contesta con el plan como contexto
- Fin
Notas del proceso
- 1La guarda solo en el teléfono. Sin servidor de datos, cuenta ni nube: la dieta y el registro viven en el teléfono.
- 2Envía la pregunta y el plan, sin el registro. El registro del día —las horas y las notas sobre su hijo— jamás sale del teléfono.
- 3Lo devuelve al pediatra, sin IA. Una regla fija responde antes de llegar a la IA: el chat no da consejo médico.
04 · Hecho con método
Cada cifra dice de dónde sale. Y lo que la app no hace también está dicho.
Las cifras, con su procedencia
¿De dónde sale?
Contadas contra docs/MANUAL-DE-USO.md y verificadas por un test que compara el total con los bloques .feature del brochure. El marco no-médico (nota de primer uso y disclaimer permanente) no cuenta: es el encuadre de la app, no una funcionalidad.
¿De dónde sale?
Archivos page.tsx bajo src/app/. La ruta /conoce sirve este brochure y no es una pantalla del producto.
¿De dónde sale?
Salida de `pnpm exec vitest run --coverage --maxWorkers=2` el 2026-10-27 sobre 69538dc: 15 archivos, 214 pruebas, todas en verde.
¿De dónde sale?
Salida de `pnpm exec playwright test --workers=1` el 2026-10-27 sobre 69538dc, contra un build de producción con el chat en modo de prueba: 94 pruebas en dos proyectos (móvil Pixel 7 y escritorio), incluidas las de accesibilidad con axe, todas en verde.
¿De dónde sale?
v8 sobre src/lib/diet, src/lib/ia y src/lib/rate-limit (422 de 424 líneas), con umbrales del 80 % en vitest.config.ts.
¿De dónde sale?
Archivos de decisions/.
¿De dónde sale?
Campo `dependencies` de package.json. Incluye los adaptadores de proveedores de IA que el chat conmuta por variable de entorno.
¿De dónde sale?
Un e2e recorre marcar, anotar, recargar, cambiar idioma y consultar el historial con un contador que intercepta TODAS las peticiones y bloquea el service worker: cero llamadas a un backend y cero a orígenes externos.
¿De dónde sale?
Suma de los servicios contratados: Vercel Hobby (free) + GitHub Free + Sentry free + Groq free tier. Sin base de datos ni servidor propio que facturar. Techo declarado del proyecto: 10 USD/mes.
¿De dónde sale?
Bytes de docs/BROCHURE.html, medidos con wc -c el 2026-10-27 sobre 69538dc. Autocontenido: cero recursos externos, incluidas las cinco muestras de interfaz (SVG en línea, no imágenes).
Con qué está hecha
- Next.jsla PWA móvil-primero y su única ruta de servidor, la del chat
- TypeScriptmodo estricto en todo el repositorio
- Tailwind + shadcn/uila interfaz, sobre los tokens del design system propio
- localStoragetoda la persistencia: la dieta y el registro del día, versionados y migrables. No hay base de datos
- Zodel esquema de la dieta: un archivo malformado se rechaza antes de entrar
- Vercel AI SDK + Groqel asistente del chat, conmutable por variable de entorno y con apagado manual
- Vitest y Playwrightlas pruebas, incluidas las de privacidad y las de accesibilidad
- Pino y Sentryregistro y errores, siempre solo con metadatos
Tus datos
- La dieta, las marcas, las horas y las notas viven solo en el teléfono: no hay servidor de datos, ni cuenta, ni nube.
- La app sale a internet para una sola cosa, las preguntas abiertas del chat, y ahí viaja únicamente el plan, sin el nombre del niño.
- El registro del día no puede llegar a ese envío ni por accidente: la parte de la app que lo guarda no está al alcance de la que habla con la IA, y dos pruebas automáticas con un dato centinela (una unitaria y una de punta a punta) fallan si alguien lo intentara.
- La conversación no se guarda y los registros técnicos llevan solo datos de funcionamiento, nunca contenido.
- «Borrar mis datos» elimina la dieta y todo el registro, incluidas las copias que dejaron versiones anteriores de la app.
Lo que nunca hace
- Pone una nota al niño.
- Sube el registro del día a un servidor.
- Envía al asistente algo distinto de la pregunta y el plan.
- Responde por el médico: dosis, medicinas y síntomas van al pediatra.
- Pide cuenta.
Sus límites, dichos
- No califica al niño: sin calorías, peso, IMC, percentiles ni «cumplimiento».
- Sale a internet para una sola cosa, las preguntas abiertas del chat, y ahí viaja solo el plan, sin el nombre del niño.
- Sin servidor de datos, cuenta ni nube: la dieta, las marcas, las horas y las notas viven en el teléfono.
- Cada cuidador carga la dieta en su propio teléfono: el registro del día todavía no se comparte entre cuidadores.














