← Todos los trabajos
Proyecto propioEn producción

DivvyUp

Reparto de gastos compartidos en tiempo real, tipado de extremo a extremo.

Sector
Finanzas personales
Rol
Desarrollador full-stack, construcción y mantenimiento en solitario
Año
2025
DivvyUp group balances and expense list

DivvyUp es el proyecto en el que la infraestructura recibió tanta atención como el producto. El dominio es pequeño e implacable (reparte una cuenta entre cuatro y los céntimos tienen que cuadrar exactamente), así que todos los cálculos monetarios pasan por decimal.js, y la forma serializada que devuelve la API es un paquete compartido y tipado contra el que compilan tanto el cliente de React como el servidor de Express.

En vivo, tipado y autodesplegable

Cada mutación de un gasto rehace en el servidor el libro de cuentas completo del grupo, así que los balances y las deudas que se derivan de ellos nunca quedan obsoletos, y Socket.io envía una notificación a cada miembro en el momento en que aterriza: a una sala tomada de la sesión validada en el handshake, nunca de nada que afirme el cliente. Las sesiones son por cookie a través de Better Auth, y el conjunto es un monorepo de Turborepo con tres workspaces (frontend, backend y el contrato compartido). Se despliega solo: un push a main construye la imagen Docker del backend, la sube al registro de contenedores de GitHub, lanza un redespliegue en Coolify sobre un VPS y consulta el despliegue hasta un estado terminal, de modo que la CI se pone en rojo en el momento en que se habría publicado una imagen rota.

Orígenes

Empezó como una colaboración (un contribuidor inicial construyó la primera capa de autenticación), pero desde entonces se ha rehecho y se mantiene en solitario, autenticación incluida.