Procrastinity es una aplicación nativa de Android diseñada para la gestión del tiempo y la creación de hábitos productivos, desarrollada en Android Studio utilizando Kotlin puro. Combina gamificación mediante mascotas virtuales con mecánicas de fricción cognitiva para mitigar el consumo impulsivo de redes sociales y proteger tus bloques de estudio u trabajo sin depender de internet ni de suscripciones.
Important
Tus hábitos y tus datos se quedan en tu dispositivo.
Procrastinity opera bajo un modelo totalmente local (Offline-First). Tu configuración de bloques, metas, selecciones de aplicaciones y estados de evolución de tu mascota permanecen en el almacenamiento interno sin enviar métricas a servidores externos.
- 🌐 Arquitectura Offline-First: Almacenamiento local mediante
SharedPreferencespersistentemente encriptadas por sesión. - 🛡️ Fricción Cognitiva: Interfaz translucida (
FrictionOverlayActivity) que interrumpe la apertura impulsiva de apps restringidas con una pausa de 15 segundos reales. - 📑 Lista Blanca Exclusiva: Selección directa de herramientas del sistema exentas de bloqueo mediante la lectura del
PackageManager.
+---------------------------------------------------------------------------------+ | STACK TECNOLÓGICO | +--------------------------+------------------------------------------------------+ | Lenguaje | Kotlin Puro | | Arquitectura | Modular (Material 3 + Foreground Services) | | UI / Sistema de Diseño | Dynamic Material Design 3 (Cyber-Navy Dark) | | Concurrencia & Alarmas | AlarmManager, Broadcast Receivers & Android Threads | | Monitoreo de Sistema | Foreground Service & PackageManager | | Optimización de Layouts | ConstraintLayout & ScrollView (fillViewport) | +--------------------------+------------------------------------------------------+
- 🐣 Mascotas de Enfoque: Elige entre Árbol, Pez o Rana al iniciar tu meta de estudio.
- 📈 Evolución Adaptativa: Crecimiento calculado en tres rangos precisos (0–33%, 34–66%, 67–100%) basados en el tiempo transcurrido vs. días restantes.
⚠️ Penalización Reactiva: Si rompes la sesión de enfoque interrumpiendo las restricciones, tu mascota sufrirá una involución visual.
- ⏱️ Retardo de 15 Segundos: Ventana translucida al 90% de opacidad para romper la inercia del uso automático de apps.
- 🔍 Gestión de Lista Blanca (
WhitelistActivity): Buscador en tiempo real con selectoresMaterialSwitchpara mantener activas las aplicaciones esenciales. - ⚙️ Monitoreo en Segundo Plano: Servicio de primer plano (Foreground Service) optimizado para un bajo consumo de batería.
- ⏱️ Planificación de Bloques: Organización de tiempo en categorías (Estudio, Ocio, Ejercicio) mediante
TimePickerDialog. - 💧 Notificaciones de Hidratación (
HydrationReceiver): Recordatorios automáticos vinculados aAlarmManageral iniciar bloques de estudio para mantener el rendimiento intelectual.
- 🌙 Tema Cyber-Navy: Paleta oscura basada en tokens dinámicos (
?attr/colorSurface) para reducir la fatiga visual. - ♿ Soporte Accesible: Cadenas centralizadas en
strings.xml(100% libre de textos hardcoded) e integración concontentDescriptionpara lectores de pantalla.
- S.O. Compatible: Android 7.0 (API Nivel 24) o superior.
- Permisos requeridos:
- 📊
Acceso a Estadísticas de Uso: Para detectar el uso de apps restringidas. - 🖼️
Mostrar sobre otras aplicaciones: Para desplegar la pantalla de retardo. - 🔔
Notificaciones: Para avisos del servicio en segundo plano e hidratación.
- 📊
# 1. Clona este repositorio
git clone [https://github.com/markbn15/Procrastinity.git](https://github.com/markbn15/Procrastinity.git)
-
Abre el proyecto en Android Studio
-
Sincroniza los archivos Gradle
-
Compila y ejecuta en un dispositivo o emulador
Si Procrastinity te ha servido para estructurar tus hábitos o como referencia técnica de desarrollo en Android:
Dale una Estrella (⭐) a este repositorio en GitHub.
Comparte el proyecto con otros desarrolladores.
Agradecimiento a las herramientas y tecnologías utilizadas:
🎨 Material Components for Android: Por la implementación de componentes de Material Design 3.
🤖 Android Jetpack: Por la infraestructura para servicios y alarmas del sistema.
🧑💻 Comunidad Open Source: Por la documentación y ejemplos de arquitectura.
Hecho con ❤️ para la comunidad de código abierto.
Este proyecto está distribuido bajo los términos de la Licencia Apache 2.0. Para más detalles, consulta el archivo LICENSE incluido en este repositorio.
