Este documento presenta la investigación, el diseño, la arquitectura y el desarrollo de Ctrl + Rest, una plataforma web gamificada orientada a promover el bienestar físico y mental de los desarrolladores mediante pausas activas inteligentes. Desarrollado para el hackathon Código Facilito × AWS × Kiro, el proyecto integra tecnologías cloud, inteligencia artificial y principios de experiencia de usuario para transformar los descansos en una experiencia interactiva que fomente la productividad, la motivación y la creación de hábitos saludables.
Criterios de aceptación: dado que el temporizador de enfoque llega a cero (00:00), cuando se cumple el tiempo configurado, entonces el sistema dispara una alerta (sonora y/o visual) e interpone la pantalla de rutina de pausa activa. Dado que la pantalla de pausa activa se despliega, cuando se carga el contenido, entonces el sistema muestra instrucciones sencillas (ej. estiramientos de muñeca, descanso visual 20-20-20 o respiración) acompañadas de un temporizador exclusivo para la pausa, y de una frase motivacional aleatoria del chatbot.
Como desarrollador que ha finalizado su pausa activa, quiero confirmar la realización del descanso y registrar mi nivel de energía/fatiga, para llevar un control de mi bienestar general durante la jornada.
Criterios de aceptación: dado que el usuario termina la rutina de descanso, cuando presiona el botón "Completar Pausa", entonces el sistema despliega un selector rápido de escala (ej. 1 a 5 o emojis) para registrar su nivel de fatiga/energía actual. Dado que el usuario envía su calificación, cuando el registro es procesado, entonces la base de datos almacena el bloque como exitoso (guardando timestamp, duración y calificación) y la aplicación queda lista para iniciar un nuevo ciclo de enfoque.
HU-05: Visualización de Métricas y Progresos en Dashboard
Como desarrollador o usuario de Ctrl-Rest, quiero consultar un panel con el historial de mis bloques de enfoque y descansos cumplidos, para evaluar la sostenibilidad de mis hábitos y prevenir el síndrome de burnout.
Criterios de aceptación: dado que el usuario ingresa a la sección "Dashboard / Métricas", cuando la vista se carga, entonces el sistema consulta y muestra el total de horas enfocadas en el día/semana y el porcentaje de pausas cumplidas. Dado que existen registros previos de bienestar, cuando el usuario filtra por fecha, entonces el dashboard actualiza dinámicamente los gráficos mostrando la relación entre el tiempo en pantalla y los niveles de energía reportados.
Basado en el nombre del repositorio (ctrl-rest-Programa con enfoque. Descansa con propósito), el proyecto corresponde a una aplicación de gestión de productividad y pausas programadas (estilo Pomodoro o temporizador de trabajo y descanso). A continuación se presentan los requerimientos funcionales clave:
1. Gestión de Temporizadores de Trabajo y Descanso
• Iniciar / Pausar / Reiniciar: permitir al usuario controlar las sesiones de trabajo enfocado y los tiempos de pausa. Ciclos automáticos: alternar automáticamente o mediante confirmación entre bloques de enfoque y periodos de descanso (corto y largo).
Configuración de tiempos: permitir definir la duración personalizada de los bloques de trabajo y de los descansos.
• Modos de trabajo: seleccionar o crear perfiles de tiempo según el nivel de concentración requerido.
Avisos de cambio de estado: emitir alertas sonoras o visuales cuando finalice una sesión de trabajo o un tiempo de descanso.
• Bloqueo / Recordatorios de pausa: mostrar avisos emergentes para incentivar al usuario a alejarse de la pantalla.
4. Propuestas de Pausas Activas (Descansa con Propósito)
Sugerencia de actividades: desplegar recomendaciones breves durante los descansos (ej. ejercicios de estiramiento, hidratación, descansos visuales o respiración).
Chatbot motivacional: mostrar una frase de ánimo seleccionada aleatoriamente de un banco predefinido, sin uso de inteligencia artificial.
5. Registro y Seguimiento
• Historial de sesiones: registrar la cantidad de ciclos de enfoque y descansos completados.
• Estadísticas básicas: mostrar métricas diarias o semanales del tiempo total enfocado.