Inspiration
Muchas personas llevan sus finanzas personales de forma dispersa: parte en la cabeza, parte en notas sueltas y parte en los mensajes de notificación que les llegan cada vez que gastan o reciben dinero. Nos inspiró la idea de unificar todo eso en un solo lugar y, además, sumarle una capa de inteligencia: que la propia app pudiera "entender" los movimientos del usuario y responder preguntas reales sobre su situación financiera, en vez de limitarse a mostrar números en una tabla.
What it does
Contador IA es una aplicación Android de finanzas personales que permite registrar transacciones de forma manual o automática (detectando notificaciones de pagos en Gmail), organizar presupuestos, deudas y metas de ahorro, y exportar todo el historial a CSV. Su diferencial es el Asesor IA: un chatbot conectado a Gemini que responde preguntas sobre los gastos, ingresos y objetivos financieros del usuario usando sus datos reales como contexto, y que además acepta preguntas dictadas por voz o fotos de recibos y facturas para analizarlas automáticamente.
How we built it
La app está desarrollada en Kotlin con Jetpack Compose y arquitectura MVVM (ViewModel + StateFlow). Los datos se guardan localmente con Room para que la app funcione sin conexión, y se sincronizan en la nube con Firebase (Authentication, Realtime Database). El Asesor IA se conecta a la API de Gemini, a la que le enviamos como contexto un resumen del estado financiero del usuario (movimientos recientes, deudas activas, presupuestos y metas) para que sus respuestas sean específicas y no genéricas. Gran parte del desarrollo iterativo se hizo dentro de Google AI Studio, iterando
Challenges we ran into
Uno de los mayores desafíos fue lograr que el chatbot respondiera con información realmente útil y no respuestas genéricas: hubo que diseñar cuidadosamente qué datos del usuario inyectar en cada consulta sin sobrecargar el modelo. También tuvimos que resolver un problema de usabilidad en pantallas chicas, donde el teclado virtual tapaba el campo de texto del chat (lo solucionamos con imePadding/WindowInsets.ime). Sincronizar datos entre Room (local) y Firebase (nube) sin duplicar transacciones, y hacer que la sincronización con Gmail detectara pagos de forma confiable, también nos llevó varias iteraciones.
Accomplishments that we're proud of
Estamos orgullosos de haber logrado un asesor de IA que efectivamente "conoce" la situación financiera del usuario y responde en consecuencia, en vez de ser un chatbot genérico. También de haber integrado entrada por voz y análisis de fotos de recibos en una sola pantalla de chat, y de tener una app funcional de punta a punta: desde el registro de una transacción hasta su exportación en CSV.
What we learned
Aprendimos a diseñar prompts efectivos para modelos de lenguaje aplicados a un dominio específico (finanzas personales), a integrar Firebase y Room de forma coherente en una misma app, y a trabajar con Jetpack Compose para construir una interfaz moderna y reactiva. También aprendimos la importancia de manejar credenciales de forma segura antes de publicar un proyecto, algo que revisamos activamente antes de esta entrega.
What's next for Contador IA
Los próximos pasos incluyen: reforzar la seguridad retirando cualquier credencial hardcodeada del código fuente, agregar notificaciones de alerta cuando un presupuesto está por excederse, soporte multi-moneda, más categorías personalizables de gasto, y explorar una versión web o iOS para llegar a más usuarios.
Built With
- android
- android-studio
- csvexport
- firebase
- firebaseauthentication
- firebasefirestore
- firebaserealtimedatabase
- geminiapi
- github
- githubdesktop
- gmailsync
- googleaistudio
- googlegenerativeai
- gradlekotlindsl
- gson
- jetpackcompose
- kotlin
- kotlincoroutines
- materialdesign3
- mvvm
- okhttp
- roomdatabase
- speechrecognizer
- stateflow
Log in or sign up for Devpost to join the conversation.