Skip to content
Henry Rincón
Nutrikids3 sprints closed

¿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.

The text of this brochure is in Spanish.

Search «ma» and the traffic light answers: avoid, limited or allowed

17 real screens · synthetic data
From the map to the chapterTap a box on the map to open its chapter; “Back to the map” returns you to that box, and “↩ Back” to where you were.
Boxes and arrowsEvery chapter has its flow. A box with the screen icon shows it: hover or tap it.
Cards that flipConcept, difference and decision. Tap a card to see the answer.
The app tourEvery screen, full screen. Use ← and → on your keyboard.

01 · What changes

Who it is for, and why

Who it is for

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.

What sets it apart

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 · The map

1The map
02 · The map’s chapters

One chapter per group: what it solves, when it fits, how it works, its screens and its cards.

2.1 · El semáforo: ¿esto se puede?★ The starBusca cualquier alimento y sabe al instante si se puede, cuánto y con qué reemplazarlo · 3 features

What it solves

Busca cualquier alimento y sabe al instante si se puede, cuánto y con qué reemplazarlo

Its pieces 3

F1Semáforo de alimentos

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.

Search «ma» and the traffic light answers: avoid, limited or allowed
F2Con qué reemplazarlo

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».

Apple on pause, until when, and what to swap it for
F3Aditivos que vigilar en la etiqueta

Compras 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.

The Red tab: what to avoid and the additives to watch on the label

2.2 · El día de hoy, en ordenQué toca ahora, qué ya pasó y cómo fue cada comida, anotado en segundos · 6 features

What it solves

Qué toca ahora, qué ya pasó y cómo fue cada comida, anotado en segundos

Its pieces 6

F4La lista del día

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.

The day's checklist: supplement taken, two of four glasses of water
F5Qué toca ahora mismo

Abres 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.

«Right now»: mid-morning snack is due, lunch is next, supplement pending
F6La hora real de cada comida

Recuerdas 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.

Checking off lunch keeps the real time: «Done · 12:48 p.m.»
F7Una nota por comida

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.

A note on lunch: «Refused it» and «Only ate half the rice»
F8Los días anteriores

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.

Previous days by date, with each meal's times and notes
F9El calendario de suplementos

Sabes 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.

The supplement calendar: today highlighted and already taken

2.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 features

What it solves

Preguntas como le hablarías a alguien que se sabe el plan de memoria, sin que opine de medicina

Its pieces 4

F10Respuestas al instante, sin señal

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».

«Can he have apples?»: an instant answer from the plan, no AI
F11Un asistente que solo usa tu plan

Para 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.

An open question with the test assistant, labeled «AI answer»
F12No opina de medicina

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.

Ask about a dose and the chat sends you back to the pediatrician
No screen of its own
F13La conversación no se guarda

Lo 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.

It runs through the whole 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 features

What it solves

El plan del profesional entra desde un archivo y toda la app responde con él; antes, una demo para explorar

Its pieces 3

F14Carga el archivo del plan

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ó.

A synthetic plan loaded: the summary of what the app found
F15Plan B: pegar el contenido

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: the file's content pasted into the text box
F16Una demo para explorar sin riesgo

Recorres 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.

No diet loaded: the badge reads «Demo diet» and you explore the app with it

2.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 features

What it solves

Se instala como app, cambia entre español e inglés y lo borra todo cuando tú decidas

Its pieces 3

No screen of its own
F17Se instala como una app

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.

It runs through the whole app.
F18Español o English

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.

One tap on English and the app switches language, from header to settings
F19Borrar mis datos

Tú 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.

«Delete my data» asks for confirmation before wiping everything
03 · End to end

03 · La dieta, viva en el bolsillo

The whole path. No swimlanes: every box says who does it, and the ones with the screen icon show it.

  • Start · Quien cuida: Un plan médico en un documento
  • Step · Quien cuida: Carga la dieta del peque
  • Step · Nutrikids: La guarda solo en el teléfono
  • Step · Quien cuida: Pregunta «¿esto se puede?»
  • Step · Nutrikids: Responde desde la dieta, sin red
  • Step · Quien cuida: Registra el día: horas y notas
  • Decision · Quien cuida: ¿Le hace una pregunta abierta?
  • Decision · Nutrikids: ¿Pide dosis, medicinas o síntomas?
  • Step · Nutrikids: Lo devuelve al pediatra, sin IA
  • Step · Nutrikids: Envía la pregunta y el plan, sin el registro
  • Step · El asistente de IA: Contesta con el plan como contexto
  • End

Process notes

  1. La guarda solo en el teléfono. Sin servidor de datos, cuenta ni nube: la dieta y el registro viven en el teléfono.
  2. Enví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.
  3. Lo devuelve al pediatra, sin IA. Una regla fija responde antes de llegar a la IA: el chat no da consejo médico.

04 · Built with method

Every figure says where it comes from. And what the app does not do is spelled out too.

The figures, with their source

19Funcionalidades del MVPmeasured
Where does it come from?

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.

8Pantallas de la appmeasured
Where does it come from?

Archivos page.tsx bajo src/app/. La ruta /conoce sirve este brochure y no es una pantalla del producto.

214Pruebas unitarias y de integraciónmeasured
Where does it come from?

Salida de `pnpm exec vitest run --coverage --maxWorkers=2` el 2026-10-27 sobre 69538dc: 15 archivos, 214 pruebas, todas en verde.

94Pruebas end-to-endmeasured
Where does it come from?

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.

99.52%Cobertura de líneas del motormeasured
Where does it come from?

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.

7Decisiones de arquitectura registradasmeasured
Where does it come from?

Archivos de decisions/.

20Dependencias en tiempo de ejecuciónmeasured
Where does it come from?

Campo `dependencies` de package.json. Incluye los adaptadores de proveedores de IA que el chat conmuta por variable de entorno.

0Llamadas de red del registro del díameasured
Where does it come from?

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.

US$0Costo de operación mensualcalculated
Where does it come from?

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.

74KBPeso de este brochuremeasured
Where does it come from?

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).

What it is built with

  • 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

Your data

  • 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.

What it never does

  • 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.

Its limits, stated

  • 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.
05 · Use it

05 · Want to use it?

Nutrikids se muestra en el Portafolio, pero no se entrega desde aquí: el acceso es por lista de espera.

How you get access

Waiting list

Only the apps have a waiting list: tell me which one you're interested in and I'll let you know when it opens. No date promised.

No date promised. I'll let you know when it opens.

Roadmap

What's coming — and you set the order

What this app has planned for the end of its road. Vote for what you most want to see: one click, no sign-up. The counters are real.

  • A nutritional twin that learns his patternsOver time the app stops merely logging and starts anticipating: which combinations work for him, which days go sideways, and why.
    Loading votes…
  • A risk heads-up before the day goes sidewaysAt the start of the day you see a low, medium or high level based on sleep, events and who's caring, and what to prepare ahead.
    Loading votes…
  • Your nutritionist inside the appThe professional reviews the log, adjusts and signs the plan from their side, with role-based permissions and nothing shared you didn't authorize.
    Loading votes…
  • An adventure for him, not just for the parentsFor the first time the child uses the app: a story that moves with his day, in the positive, with no weight and no punishments.
    Loading votes…
  • Several diets from different professionals, in oneLoad plans from more than one professional and the app reconciles them into a single diet with no contradictions, flagging where they clashed.
    Loading votes…
Propose a feature

An idea, in your own words. The best ones reach the app's plan.

Where it stands

The pinned version, not real time. Shown here; not handed over.

  1. H-1cycle
  2. 3closed sprints
  3. —build closed
  4. v0.1.0repo version
  5. 7recorded decisions
Nutrikids · Export of October 27, 2026 · screenshots with synthetic dataBrochure in the CV Viva Portfolio
Nutrikids

← → move · Space plays · Esc closes