Finances Domèstiques & AI Financial Advisor
Plataforma local-first de gestió financera personal i familiar amb Open Banking, conciliació intel·ligent de traspassos i IA contextual amb Google Gemini.
🎯 El Repte
La majoria d'aplicacions comercials de finances personals presenten tres grans problemes:
- Privacitat: Obliguen a delegar credencials i dades confidencials a tercers.
- Finances compartides i traspassos: En llars amb múltiples comptes (individuals, conjunts, estalvi), moure diners d'un compte a un altre sol distorsionar les mètriques, registrant falses despeses o dobles ingressos a causa de la diferència temporal d'execució bancària.
- Manca de flexibilitat per a l'autohospedatge: Poques solucions s'integren de manera nativa en servidors domèstics (com ara Home Assistant OS).
💡 La Solució
Es va dissenyar una aplicació completa full-stack, autohospedada i altament modular, que combina l'automatització bancària moderna amb models d'intel·ligència artificial generativa per transformar dades bancàries crues en informació financera accionable.
🚀 Funcionalitats Clau
Conciliació Intel·ligent de Traspassos (Transfer Matching Engine)
Algorisme heurístic amb finestra temporal flexible (0 a 5 dies) que detecta traspassos entre comptes propis (comptes corrents, estalvis o conjunts). Assegura la neutralitat en els informes: mou els saldos sense inflar la despesa real ni els ingressos nets mensuals.
Ingestió Dual de Dades (Open Banking & Extractes)
Integració directa amb bancs europeus mitjançant la directiva PSD2 / Open Banking (GoCardless API). Parsers robustos d'extractes (Excel/CSV) d'entitats com BBVA, ING i Bankinter, amb deduplicació basada en hashings criptogràfics SHA-256 per moviment.
Assessor i Intel·ligència Financera (Google Gemini)
- Neteja semàntica: Converteix cadenes críptiques de terminals TPV en conceptes comprensibles.
- Categorització automàtica i aprenentatge de regles: Proposa noves regles segons l'històric d'ús.
- Detecció de despeses recurrents: Identifica subscripcions i càrrecs periòdics automàticament.
- Diagnòstic de salut financera: Analitza l'estalvi, fons d'emergència i la regla 50/30/20 oferint recomanacions contextualitzades.
Mòdul de Préstecs & Simulador Hipotecari
Amortització pel mètode francès amb projecció d'estalvi d'interessos davant amortitzacions anticipades parcials (reducció de quota vs. reducció de termini).
Gestió de Fluxos d'Efectiu (Cash)
Registre d'entrades i sortides en metàl·lic per mantenir un balanç patrimonial 100% fidel.
🛠️ Arquitectura i Decisions Tècniques
- Frontend reactiu i lleuger: Desenvolupat amb React 19 i Vite, prioritzant una interfície neta amb components propis, suport responsive mòbil/escriptori i gràfics dinàmics amb Chart.js.
- Backend asíncron d'alt rendiment: API REST construïda amb FastAPI i SQLAlchemy, assegurant tipat estricte mitjançant Pydantic v2 i tractament de dades tabulars amb Pandas.
- Seguretat i exposició: Xifrat de contrasenyes amb derivació de claus PBKDF2-HMAC-SHA256 (120.000 iteracions + salt aleatori de 32 caràcters). Gestió de sessions amb cookies HttpOnly i tokens de portador. Mitigació d'atacs de força bruta (rate limiter) compatible amb passarel·les i túnels Cloudflare (CF-Connecting-IP).
- Integració Home Assistant (Ingress): Arquitectura empaquetada com a Add-on natiu que s'executa aïllat en Docker, accessible directament a la barra lateral de l'app oficial de domòtica sense necessitat d'obrir ports addicionals al router.
- Mode Demo Efímer per a Portfolio: Sistema de sandboxing multi-usuari en memòria / còpies SQLite temporals, que permet als visitants del portfolio interactuar lliurement amb l'aplicació amb dades sintètiques realistes sense persistència ni interferència entre sessions.
💻 Stack Tecnològic
Frontend
React 19, JavaScript (ESNext), Chart.js, Lucide Icons, Vite, CSS3 Flex/Grid.
Backend
Python 3.12, FastAPI, SQLAlchemy ORM, SQLite, Pydantic, Pandas, OpenPyXL.
IA & Serveis Externs
Google Gemini API (model 2.5 Flash), GoCardless Bank Account Data API (Open Banking).
Desplegament & DevOps
Docker, Docker Compose, Home Assistant Add-on SDK, GitHub Actions.