5 min de lectura
La mayoría de las apps de hábitos deciden cuándo termina "hoy" de la misma forma que la mayoría de los servidores web: a medianoche, en la zona horaria en la que resulta que corre el servidor — normalmente UTC. Es una suposición invisible que casi nadie nota, hasta el día en que rompe en silencio una racha que no hiciste nada para perder.
La hora del servidor es cómoda para programar y completamente irrelevante respecto a cuándo empieza y termina realmente tu día. Si una app registra un hábito completado bajo "hoy" usando la medianoche UTC como corte, está asumiendo en silencio que cada usuario vive en UTC+0. Casi nadie vive ahí.
Rara vez se manifiesta como un error evidente — más bien como una racha que se reinicia sin motivo aparente. Las personas más afectadas: viajeros frecuentes que cruzan zonas horarias en mitad de un viaje, trabajadores remotos que registran sus hábitos desde un país distinto al que usaron para registrarse, trabajadores nocturnos cuyo "día" natural va bien pasada la medianoche, y nómadas digitales que pueden pasar por tres zonas horarias en un solo mes.
Alguien en Tokio (UTC+9) completa su hábito de la noche a las 23:00 hora local. En UTC, ese mismo instante ya son las 14:00 del día siguiente. Una app que sigue "hoy" según la medianoche UTC registraría esa finalización bajo mañana, no esta noche — dejando la noche con aspecto de incompleta y, según las reglas de la app, terminando en silencio una racha que, desde la propia noche del usuario, en realidad nunca se rompió.
La solución no es complicada en principio: guardar la zona horaria IANA de cada usuario (los identificadores estándar como "Europe/Paris" o "Asia/Tokyo", que además gestionan automáticamente el horario de verano), y calcular cada límite de "hoy", cada cálculo de racha y cada recordatorio diario a partir de esa zona horaria guardada, en lugar del reloj propio del servidor.
Es fácil pasarlo por alto precisamente porque solo aparece como un caso límite — hasta que es tu caso límite, y entonces una racha rota se siente arbitraria, y algo injusta, porque lo es.
Cada perfil de Iniscia guarda su propia zona horaria, y cada límite de "hoy" — para marcar un hábito, para el panel, para el recordatorio diario — se calcula a partir de ella, no de la hora del servidor. Es un pequeño detalle. Solo importa el día en que no funciona, que es justo por lo que vale la pena hacerlo bien antes de que ese día te llegue a ti.
Gratis para empezar, rachas honestas, sin progreso falso.
Empezar gratis