Saltar al contenido principal

Kirin, cuentas claras desde cero

· 4 min de lectura
Rei Izumi
Moon.cat owner

Hace muchos años vivía con un magnífico Excel que evolucionaba para gestionar mis gastos. El Excel se volvía cada vez más complicado y difícil de gestionar, y no había ninguna app que me gustara, así que usé la idea de cualquier desarrollador: si no existe, lo creas. Así nació la primera versión de Kirin.

Y el pobre Kirin se convirtió en un campo de pruebas: las nuevas arquitecturas que quería probar iban a parar a Kirin, junto a nuevas funcionalidades. Ha cambiado de lenguaje de programación, de framework, ha sido un monolito, un microservicio, una app Kubernetes native, ...

Tras unos años sin tocarlo, tocaba volver a él y reconstruirlo, esta vez por completo en su versión 3.

¿Qué hace Kirin?​

La idea sigue siendo la misma: planificar un año de economía personal. Cuánto dinero entra, cómo se reparte y en qué se gasta, para llegar a diciembre sin sustos.

  • Ingresos: las nóminas, las pagas extra o cualquier otra fuente, mes a mes y en la cuenta donde llegan.
  • Presupuestos: el dinero que reservas para tus compras, mensual o para todo el año.
  • Ahorros: transferencias automáticas cada mes hacia tus cuentas de ahorro.
  • Gastos fijos: impuestos, suscripciones, seguros ... todo lo que sabes que va a llegar, y que marcas como pagado cuando llega.
  • Compras: qué has comprado, con qué presupuesto, de qué categoría y cómo lo has pagado.

Y para no empezar cada enero desde cero, un año nuevo se puede preparar a partir del anterior: marcas lo que quieres copiar y listo.

consejo

Kirin nunca te impide pasarte de un presupuesto. Simplemente te lo enseña. Lo que hagas después ya es cosa tuya 😇.

Novedades​

La gran novedad es que ahora Kirin conoce tus cuentas bancarias: cada ingreso, pago o compra se convierte en un movimiento el día en que el dinero realmente se mueve, y las tarjetas de crédito acumulan sus gastos para cobrarlos de golpe el mes siguiente.

Kirin siempre fue una aplicación de suposiciones. Dejabas cierto margen de error e ibas introduciendo los gastos. Si te olvidabas de algo, se desviaba y era complicado de encontrar. Para evitarlo, esta vez he planteado añadir el 100% de la información, y esta debe cuadrar con tus cuentas bancarias. Si no es el caso, toca buscar dónde y por qué se ha desviado.

Esto puede suponer un verdadero dolor de cabeza para encontrar cada punto de desvío (Spoiler: ¡lo es!), así que planteé que tener una IA opcional sería un detalle (vamos a dejar de lado el tema de la seguridad y la privacidad, que esto da para un post entero). Así, le pasas un extracto y el sistema lo valida internamente y, si quieres, lo envía a una IA para "ir más allá". Eso sí, Kirin limpia las líneas antes de enviarlas: fuera IBANs y números de tarjeta.

Y bueno, la IA hará lo que pueda/crea dependiendo de la posición de las nubes. Por ahora, le falta muchísima calibración, su capacidad de acierto es más baja de lo que me gustaría para lo que cuesta. Tocará seguir trabajando y probando. Posiblemente cambiar de modelo también.

Dashboard​

Antiguamente había varios dashboards y reportes, pero no eran suficientes. Nunca lo son. Así que se han rehecho y, sin duda alguna, seguirán sin ser suficientes. Con los meses tocará darle más vueltas y mejorarlos.

¿Y lo técnico?​

Por si alguien tiene curiosidad: interfaz en React, API en Bun y PostgreSQL detrás. Todo desplegado en Kubernetes dentro de Sora Project, con el login delegado en un proveedor OpenID Connect.

El código está en su nuevo repositorio de GitLab. El anterior queda como recuerdo de las vidas pasadas de Kirin.

Ahora solo falta lo más difícil: que las cuentas salgan en positivo. Eso ya no lo arregla ningún código 🤑.