Saltar al contenidoES/EN
Sistemas
2026-06-088 min lecturaEn producción

Kairos — Asistente de productividad con deuda estoica.

Cómo convertir abandono de tareas en deuda cuantificable. La arquitectura detrás de Kairos: IA generativa, geofencing en tiempo real y reflexión estoica.

FlutterFastAPIGoogle GeminiPostgreSQL
Kairos - Asistente de productividad

Kairos nació de una pregunta incómoda: ¿qué pasa cuando abandonas una tarea?

La respuesta habitual es "nada" — simplemente marcas que fue interrumpida y continúas. Pero eso no es cierto. El contexto que ya tenías se pierde. La inercia desaparece. Mañana tendrás que reconstruir todo desde cero. Ese tiempo vuelve a costar.

Kairos no lo oculta. Lo cuantifica.

Deuda productiva: convertir abandono en acción

Cada vez que dejas una tarea a medio hacer, Kairos acumula minutos de deuda. No para castigarte — para que veas exactamente qué te está costando tu falta de enfoque. Una tarea abandonada cada 15 minutos se convierte en 900 minutos de deuda semanal. Eso no se ve en una lista de tareas. Se ve como un número que crece.

El sistema no es binario: completada / incompleta. Es gradual. Cada minuto que pasas fuera de la tarea activa aumenta la deuda. Cada minuto dentro la disminuye. La filosofía viene de los estoicos: Marco Aurelio escribía sobre la "deuda contigo mismo". Kairos la hace visible.

La arquitectura aquí es decisiva. Necesitaba que el tracking fuera pasivo — el usuario no toca nada, Kairos simplemente sabe cuándo estás dentro o fuera de la tarea. Geofencing resuelve el "dónde" sin tocar el teléfono. State management resuelve el "cuándo" en tiempo real sin batería.

El confesionario: reflexión generada, no prescrita

Aquí es donde la IA no es un truco de marketing. Es arquitectura.

Cuando tu deuda es alta, Kairos no te da un aviso genérico. Accedes a "El Confesionario" — una reflexión estoica generada en el momento por Google Gemini. Le paso tu estado actual (cuánta deuda tienes, cuánto tiempo llevas sin completar una tarea, qué patrones hay en tus abandonos) y Gemini genera una reflexión corta, directa, basada en la filosofía de Epicteto: sobre qué controlas y qué no.

No es personalizado porque sé cuál es tu nombre. Es personalizado porque se basa en datos reales sobre cómo trabajas.

El endpoint es simple: POST /api/v1/confessional envía deuda + historial → Gemini genera reflexión → se renderiza en Flutter. Sin cachés, sin sobrecarga — cada consulta es fresca.

Arquitectura móvil + servidor: libertad de capas

Kairos es 100% Flutter en cliente, 100% FastAPI en servidor. Esa separación clara tiene consecuencias deliberadas.

La app móvil no sabe nada de bases de datos, JWT, historial. Solo sabe gestionar tareas locales y hablar con un servidor. El servidor no sabe nada de animaciones, triggers de ubicación, interfaz. Solo sabe persistir y computar.

Provider en Flutter maneja estado reactivo. En el servidor, SQLAlchemy mapea objetos a PostgreSQL sin queries manuales. Entre medias: HTTP stateless. Si mañana necesito cambiar de Flutter a React Native, no toco el backend. Si necesito cambiar de FastAPI a Node, no toco la app.

La migración futura a Supabase sigue el mismo patrón: reemplazar FastAPI con Edge Functions de Deno, reemplazar mi JWT con Supabase Auth. La arquitectura sobrevive porque los límites están claros.

Túnel de Visión: time-blocking sin input manual

La mayoría de apps de time-blocking requieren que escribas tu cronograma. Kairos lo deduce.

Basándose en tu historial (cuándo empiezas tareas, cuánto tardan, cuándo las abandonas), el Túnel de Visión renderiza automáticamente tres franjas: pasado (lo que hiciste), en curso (lo que estás haciendo ahora), pendiente (lo que viene). No necesitas actualizar nada — el estado se sincroniza en tiempo real.

La complejidad está en el servidor: estadísticas de duración, cambios de contexto, patrones semanales. Todo se calcula una sola vez al abrir la pantalla, no en cada frame.

Lo que aprendí construyendo Kairos

La tentación era hacer la app más inteligente cada día. Agregar predicciones, machine learning, recomendaciones automáticas. Kairos no necesita eso. Solo necesita ser honesto sobre cuánto tiempo realmente desaparece y convertirlo en una reflexión que duele lo suficiente para que cambies.

La arquitectura ganó siendo aburrida. Un servidor que persiste, una app que sincroniza, una IA que reflexiona. Sin complicaciones innecesarias. El impacto viene del modelo mental — deuda productiva — no de cuántas features tengas.

Construido porIsmael Manzano LeónDesarrollador de Software · leo/ · leosoftware.dev
Ver en GitHub →