Caffeine Tracker
Cómo funciona: el widget estima tu nivel actual de cafeína (mg/L), aplica la degradación por vida media y predice cuándo caerás por debajo de tu umbral de sueño seguro.
¿Qué significa "mg/L"?
mg/L significa miligramos de cafeína por litro. La app usa mg/L como una puntuación práctica similar a la concentración: es más fácil de interpretar que los mg totales, porque el peso corporal influye en cómo se siente la cafeína.
- La misma bebida afecta a las personas de forma diferente
- El peso corporal cambia la concentración
- La concentración hace los umbrales más fáciles de entender
Qué significan los niveles (umbrales)
Cada persona reacciona de forma diferente, pero estos umbrales funcionan bien como referencias prácticas:
Recomendaciones de sueño y ajustes Premium
La recomendación de Hora de última bebida está disponible en Premium. Te ayuda a decidir cuándo puedes tomar una bebida específica y mantener tu cafeína lo suficientemente baja para dormir.
Hora de última bebida • Umbral de cafeína • Buffer de hora de dormir • Preajustes de vida media • Bebidas personalizadas
Hora de dormir
Tu hora habitual de dormir. Por defecto, se toma de tus ajustes de Garmin. Premium usa Hora de dormir como punto de referencia para las recomendaciones de sueño.
Buffer de hora de dormir (Premium)
Una ventana de seguridad simple antes de tu hora de dormir. Existe por una razón: para evitar que la app recomiende una pequeña bebida con cafeína demasiado cerca de dormir.
Incluso si una bebida pequeña técnicamente te mantendría bajo tu umbral de cafeína a la hora de dormir, tomar cafeína justo antes de dormir puede empeorar la calidad del sueño o dificultar conciliar el sueño.
El buffer de hora de dormir añade una protección de "no cafeína demasiado cerca de dormir". No afecta nada más en el modelo.
Umbral de cafeína (Premium, por defecto: 0,6 mg/L)
El límite de sueño seguro que Premium usa para las recomendaciones. La app intenta asegurar que tu nivel predicho de cafeína a la Hora de dormir se mantenga en o por debajo de este umbral.
- Si eres sensible o el sueño empeora → considera bajar el umbral
- Si toleras bien la cafeína y el sueño no se ve afectado → puedes subirlo ligeramente
Vida media de cafeína (Premium preajustes, por defecto: 5 horas)
La vida media controla qué tan rápido se degrada la cafeína (degradación exponencial). Una vida media más corta elimina más rápido; una vida media más larga permanece más tiempo y adelanta la hora de última bebida.
3 horas • 4 horas • 5 horas • 6 horas • 8 horas • 10 horas
Hora de última bebida (Premium)
Para cada bebida, Premium calcula la hora más tardía a la que puedes tomarla para que tu nivel predicho de cafeína a la Hora de dormir se mantenga ≤ Umbral de cafeína. Luego aplica el buffer de hora de dormir como protección final, para que la recomendación nunca sea "demasiado cerca" de dormir.
- Depende de tu nivel actual, vida media, umbral y hora de dormir
- También depende de la cantidad de cafeína de la bebida (especialmente para bebidas personalizadas)
Algoritmo de cálculo (simplificado)
Internamente, la app mantiene una estimación continua de tu nivel actual de cafeína y la actualiza cuando pasa el tiempo o registras una bebida. El modelo se basa en la degradación exponencial (vida media).
Paso 1: Empezar con el último nivel conocido
La app almacena tu último nivel de cafeína calculado y su marca de tiempo.
Paso 2: Dejar que se degrade con el tiempo (vida media)
Cuando el widget se actualiza, el nivel se reduce según cuánto tiempo ha pasado desde la última actualización:
nivelAhora = nivelAnterior × 0,5^(Δt / vidaMedia)Donde Δt es el tiempo transcurrido (en las mismas unidades que vidaMedia).
Paso 3: Añadir bebidas recién registradas
Cuando registras una bebida, su cantidad de cafeína (mg) se convierte en un aumento de nivel usando tu peso corporal, y se suma al nivel actual degradado:
nivelAhora = nivelAhora + deltaBebidadeltaBebida se deriva de la cafeína de la bebida (mg) y tu normalización basada en peso configurada.
Paso 4: Predecir "hora segura para dormir"
Para estimar cuándo caerás por debajo de un umbral elegido, la app resuelve la ecuación de degradación para el tiempo:
tiempoHastaUmbral = vidaMedia × log2(nivelAhora / umbral)Si nivelAhora ≤ umbral, tiempoHastaUmbral es 0 (ya está por debajo).
La app actualiza tu estimación automáticamente (ej. cada 5 minutos), para que tu nivel actual se mantenga preciso sin actualización manual.