Portfolio / Finances Domèstiques

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.

React 19 FastAPI Python SQLite Google Gemini 2.5 Open Banking (PSD2) Docker Home Assistant Chart.js
Finances Domèstiques Dashboard Preview

🎯 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.