FridgeBoss: Gestión de Inventario Inteligente y Gamificación contra el Desperdicio de Alimentos
AI Powered
Introducción y Diagnóstico del Problema
El desperdicio de alimentos en el ámbito doméstico es un desafío global con repercusiones económicas y ambientales significativas. La gestión manual de inventarios en el hogar suele fallar debido a la fricción de registrar manualmente cada ingrediente, la dificultad para predecir las fechas exactas de vencimiento y la falta de ideas creativas para consumir alimentos próximos a caducar. FridgeBoss aborda este problema integrando Inteligencia Artificial generativa y persistencia local para automatizar el control de inventario y motivar conductualmente al usuario mediante gamificación.
Arquitectura y Solución Técnica
La aplicación móvil se fundamenta sobre los principios de Clean Architecture y el patrón de presentación MVVM (Model-View-ViewModel), asegurando una separación robusta de responsabilidades y un código altamente mantenible. Los pilares tecnológicos de esta solución son:
- Interfaz de Usuario Reactiva: Diseñada en su totalidad con Jetpack Compose y basada en los lineamientos estéticos de Material Design 3, lo que permite un renderizado moderno y adaptable.
- Persistencia de Datos Híbrida: Se implementa Room Database para estructurar y consultar el inventario físico mediante flujos reactivos de
Flow, complementado con Preferences DataStore para persistir de manera asíncrona y segura los estados de gamificación como rachas y ahorros acumulados. - Capa de Inteligencia Artificial: Integración directa con el Google Gen AI SDK, utilizando llamadas estructuradas a los modelos
Gemini 1.5 ProyGemini 1.5 Flashpara realizar OCR en tiquetes de compra y formular recomendaciones gastronómicas personalizadas basadas en remanentes.
Retos Técnicos de Implementación
Durante la ingeniería del software se enfrentaron tres retos críticos:
- Procesamiento en Segundo Plano Confiable: La sincronización de alertas diarias de vencimiento se delegó en WorkManager. Esto garantizó que, incluso bajo las severas restricciones de ahorro de batería de Android Oreo en adelante, el sistema despierte de manera silenciosa a las 9:00 AM, consulte la base de datos de Room y emita notificaciones del sistema con alta prioridad si existen productos críticos.
- Estructuración de Datos No Estructurados: Convertir imágenes de tiquetes de compra caóticos en entidades de base de datos requirió el diseño de prompts optimizados y configuraciones de temperatura específicas en Gemini, forzando respuestas en formatos JSON estrictos para mapear precios, cantidades y nombres genéricos de alimentos.
- Reactividad del Estado de Gamificación: La lógica de la racha cero desperdicio requirió flujos bidireccionales de datos usando
StateFlowySharedFlowpara garantizar que eventos críticos (como desechar un alimento y resetear la racha a cero) se reflejen instantáneamente en la interfaz de usuario sin generar inconsistencias de estado.
Resultados y Rendimiento Esperado
El sistema optimiza sustancialmente la experiencia del usuario y el consumo de recursos de hardware:
La combinación de persistencia local reactiva mediante Room, tareas diferibles y optimizadas vía WorkManager, y la inyección segura de credenciales mediante compilación, garantiza un consumo mínimo de batería y ancho de banda, al mismo tiempo que fomenta un impacto ecológico positivo inmediato mediante la gamificación del descarte de comida.