LaButxaka
Una app de finanzas para quien solo quiere saber en qué se le va el dinero.

Resumen
Butxaca es “bolsillo” en catalán. LaButxaka es una aplicación web, nacida como proyecto académico en la UOC, para llevar tus finanzas personales de forma autónoma: añades, editas y eliminas movimientos, los organizas por cuentas y categorías, y ves un resumen de cómo vas.
La diseñé y la desarrollé yo de principio a fin, y es el proyecto donde mejor se ve cómo conectan diseño y código: cada pantalla de Figma tiene detrás un controlador, un modelo y una tabla en la base de datos.
Las apps de finanzas suelen pecar de complejas o de tener demasiadas funciones para quien solo quiere saber en qué se le va el dinero. Enfoqué la app en lo esencial (movimientos, cuentas, categorías, resumen) y la mantuve clara en desktop y en móvil. Hoy es una aplicación funcional que uso en casa, con demo pública, vídeo y tutorial interactivo.
Planteamiento
Antes de abrir Figma hice un benchmarking de otras apps de finanzas para ver qué patrones de interfaz e interacción funcionaban y cuáles sobraban. A partir de ahí monté un mapa conceptual, una planificación por fases y los flujos de usuario para las tres acciones clave: crear, editar y eliminar un movimiento.

Dibujar esos flujos al principio me ahorró mucho después: cada caja del diagrama acabó siendo una ruta o un método del controlador.



Así quedaron esas cajas en MovimientosController:
| En el flujo | En el código |
|---|---|
| Botón Nuevo registro | create() |
| Botón Añadir | save() |
| Botón Editar, con el movimiento seleccionado | edit() |
| Botón Editar, en el formulario | update() |
| Confirmar la eliminación | delete() |
Diseño
Creé un user persona y un moodboard para tener claro para quién diseñaba y qué atmósfera quería transmitir. Con eso definí la guía de estilos (tipografía, paleta y logotipo).


Después, en este orden:
- Wireframes en baja fidelidad para validar estructura y flujos sin distraerme con el estilo.
- Prototipo de alta fidelidad en Figma con la guía de estilos aplicada y los flujos prototipados.


Desarrollo
Stack: PHP y SQL en el backend, HTML, CSS y JavaScript vanilla en el frontend, y componentes de Shoelace (web components) personalizados para que encajaran con la guía de estilos en lugar de parecer una librería genérica.
Arquitectura MVC. La elegí pensando en el futuro: añadir formularios para gestionar cuentas y categorías, filtros u ordenaciones tiene que ser sumar piezas, no reescribir. Separar modelo, vista y controlador me obligó también a pensar el diseño como un conjunto de componentes reutilizables.
El proceso, en orden:
- Esquema de la base de datos relacional (movimientos, categorías, cuentas y usuarios).
- MVC para los movimientos, que es el corazón de la app.
- Controladores y modelos para el resto de secciones.
- Maquetación desktop: páginas de Movimientos y Resumen.
- Maquetación mobile y adaptación responsive a tablet.
- Testing: pruebas en desarrollo y smoke test en producción.


Ajusté las variables y partes de Shoelace hasta que los componentes encajaron con la paleta y la tipografía de Figma.
Lo que se quedó fuera. En el diseño, Resumen también tenía un botón para filtrar por fecha. Me quedé sin tiempo para aplicar los cambios, así que lo dejé como tarea pendiente en el backlog.


Cómo lo presenté al usuario
Para que alguien use la app, tiene que entender cómo funciona. Elegí dos formatos complementarios:
- Un vídeo cercano y visual, que enseña lo que hace la app sin entrar en tecnicismos.
- Un tutorial interactivo al que el usuario puede volver cuando tenga dudas mientras la usa.
El vídeo presenta la app; el tutorial resuelve dudas cuando el usuario ya la usa.
Lo que aprendí
- Los flujos de usuario son documentación técnica. Bien hechos, son medio camino hacia la arquitectura.
- Una librería de componentes no basta como design system. Shoelace me dio la base accesible y funcional, pero la identidad la puse yo, adaptándolo a mis tokens.
- Pensar en escalabilidad cambia cómo diseñas. Saber que habría más formularios en el futuro me hizo diseñar patrones, no pantallas sueltas.
- Siguientes pasos: gestión de cuentas y categorías desde la propia interfaz, filtro por fecha en Resumen, y filtros y ordenación de movimientos.
