Kirin, comptes clars des de zero
Fa molts anys vivia amb un magnífic Excel que evolucionava per gestionar les meves despeses. L'Excel es tornava cada vegada més complicat i difícil de gestionar, i no hi havia cap app que m'agradés, així que vaig fer servir la idea de qualsevol desenvolupador: si no existeix, el crees. Així va néixer la primera versió de Kirin.
I el pobre Kirin es va convertir en un camp de proves: les noves arquitectures que volia provar anaven a parar a Kirin, juntament amb noves funcionalitats. Ha canviat de llenguatge de programació, de framework, ha estat un monòlit, un microservei, una app Kubernetes native, ...
Després d'uns anys sense tocar-lo, tocava tornar-hi i reconstruir-lo, aquesta vegada completament en la seva versió 3.
Què fa Kirin?
La idea continua sent la mateixa: planificar un any d'economia personal. Quants diners entren, com es reparteixen i en què es gasten, per arribar a desembre sense ensurts.
- Ingressos: les nòmines, les pagues extra o qualsevol altra font, mes a mes i al compte on arriben.
- Pressupostos: els diners que reserves per a les teves compres, mensuals o per a tot l'any.
- Estalvis: transferències automàtiques cada mes cap als teus comptes d'estalvi.
- Despeses fixes: impostos, subscripcions, assegurances ... tot el que saps que arribarà, i que marques com a pagat quan arriba.
- Compres: què has comprat, amb quin pressupost, de quina categoria i com ho has pagat.
I per no començar cada gener des de zero, un any nou es pot preparar a partir de l'anterior: marques el que vols copiar i llestos.
Kirin mai t'impedeix passar-te d'un pressupost. Simplement t'ho ensenya. El que facis després ja és cosa teva 😇.
Novetats
La gran novetat és que ara Kirin coneix els teus comptes bancaris: cada ingrés, pagament o compra es converteix en un moviment el dia en què els diners realment es mouen, i les targetes de crèdit acumulen les seves despeses per cobrar-les de cop el mes següent.
Kirin sempre va ser una aplicació de suposicions. Deixaves cert marge d'error i anaves introduint les despeses. Si t'oblidaves d'alguna cosa, es desviava i era complicat de trobar. Per evitar-ho, aquesta vegada he plantejat afegir el 100% de la informació, i aquesta ha de quadrar amb els teus comptes bancaris. Si no és el cas, toca buscar on i per què s'ha desviat.
Això pot suposar un veritable mal de cap per trobar cada punt de desviació (Spoiler: ho és!), així que vaig plantejar que tenir una IA opcional seria un detall (deixarem de banda el tema de la seguretat i la privacitat, que això dona per a un post sencer). Així, li passes un extracte i el sistema el valida internament i, si vols, l'envia a una IA per "anar més enllà". Això sí, Kirin neteja les línies abans d'enviar-les: fora IBANs i números de targeta.
I bé, la IA farà el que pugui/cregui depenent de la posició dels núvols. De moment, li falta moltíssim calibratge, la seva capacitat d'encert és més baixa del que m'agradaria pel que costa. Caldrà continuar treballant i provant. Possiblement canviar de model també.
Dashboard
Antigament hi havia diversos dashboards i informes, però no eren suficients. Mai ho són. Així que s'han refet i, sens dubte, continuaran sense ser suficients. Amb els mesos caldrà donar-los més voltes i millorar-los.
I la part tècnica?
Per si algú té curiositat: interfície en React, API en Bun i PostgreSQL al darrere. Tot desplegat a Kubernetes dins de Sora Project, amb el login delegat a un proveïdor OpenID Connect.
El codi és al seu nou repositori de GitLab. L'anterior queda com a record de les vides passades de Kirin.
Ara només falta el més difícil: que els comptes surtin en positiu. Això ja no ho arregla cap codi 🤑.