Proyecto personal · 2026 · repositorio público
medication-manager: horarios que sobreviven a una dosis tardía
Una PWA de medicamentos para el hogar que reancla las dosis por intervalo, proyecta reposiciones y envía recordatorios a todos los dispositivos.
- Angular
- TypeScript
- Laravel
- PHP
- Web Push
- Service worker
- MCP
Repositorio:https://github.com/alipadron/medication-manager
Problema
No todos los medicamentos se toman a una hora fija. Una dosis por intervalo —cada N horas— se desfasa en cuanto una toma se retrasa, y un planificador que ignora el desfase acumula la siguiente dosis demasiado cerca o la salta. Un hogar también necesita saber cuánto dura el stock actual, y los recordatorios solo sirven si llegan sin abrir la app.
Decisiones
Modelé las dosis por patrón: horas fijas e intervalos. Un horario por intervalo se reancla en la dosis realmente tomada y desplaza en vivo todas las siguientes, así el próximo recordatorio siempre es relativo a la realidad.
Registré el stock por medicamento y proyecté las reposiciones a partir del horario y las unidades restantes, para que quedarse sin stock sea visible antes de que ocurra.
Entregué los recordatorios con Web Push a cada dispositivo registrado, sobre una PWA con service worker que además muestra el horario offline.
Construí una API Laravel pequeña y un cliente Angular, y publiqué un servidor MCP para que los agentes consulten el dominio de la propia app.
Desplegué la app y su planificador juntos, en un solo origen, para que las suscripciones push y la API no se desincronicen.
Resultado
Una app para el hogar que mantiene el horario correcto tras una dosis tardía, muestra cuándo se acabará el stock y entrega recordatorios a cada dispositivo.
El código es público: las reglas de programación, el flujo de push y el servidor MCP se pueden leer directamente.