Contexto
Boveda nació de una frustración personal: quería llevar control de mis finanzas pero toda herramienta exigía confiarle mis credenciales bancarias a un tercero o subir extractos a un dashboard en la nube. La solución era dejar los datos donde pertenecen — en el dispositivo. El núcleo es un conjunto de parsers de extractos específicos por banco (Bancolombia, Nequi, Daviplata) que manejan las rarezas del formato de exportación de cada banco: signos implícitos de débito/crédito, nombres de columnas inconsistentes, casos borde de codificación. Las transacciones procesadas aterrizan en una base SQLite local servida por una REST API de FastAPI. La arquitectura es intencionalmente aburrida: Python 3.12, SQLAlchemy, Alembic, pytest. Sin IA, sin nube, sin magia. El proyecto también es una excusa funcional para entender una brecha estructural real del fintech colombiano: los bancos no exponen APIs, lo que significa que los usuarios comparten credenciales o se quedan sin conocer sus propios gastos. Local-first no es una preferencia aquí — es la única arquitectura que no compromete la privacidad del usuario.
Boveda es un panel de finanzas personales local-first construido para cuentas bancarias colombianas. Los bancos colombianos no exponen APIs de transacciones, así que toda herramienta de presupuesto existente exige acceso a la nube o compartir credenciales. Boveda toma un camino distinto: procesa exportaciones de extractos (PDF, XLSX, CSV) de Bancolombia, Nequi y Daviplata, extrae datos estructurados de transacciones mediante parsers basados en reglas por banco y guarda todo localmente en SQLite, sin sincronización en la nube. El backend corre sobre Python 3.12, FastAPI y SQLAlchemy con migraciones Alembic. Cada banco tiene su propio módulo parser para manejar inconsistencias de formato, inferencia implícita de signos y categorización sin machine learning. La API entrega datos financieros estructurados a un frontend en React todavía en desarrollo. Cobertura completa con pytest en las capas de parser y API. Local-first por diseño: sin exposición de credenciales, sin acceso de terceros a los datos y sin suscripción para entender tus propias finanzas.