SpendTaskify
App para gestión de gastos y tareas. Permite registrar, categorizar y visualizar gastos diarios y organizar tareas en un solo lugar.

Manejar gastos personales y tareas pendientes desde aplicaciones separadas genera fricción: pasás de una app de finanzas a una de tareas, perdés contexto y terminás sin usar ninguna consistentemente. La mayoría de las herramientas disponibles son demasiado complejas para uso personal o requieren suscripción para funcionalidades básicas.
Una SPA minimalista que centraliza gastos, tareas y notas académicas en un solo lugar con autenticación segura y persistencia en la nube via Supabase. El balance financiero se actualiza en tiempo real al registrar ingresos y gastos. Las tareas se filtran por estado, fecha y categoría. El perfil es editable con avatar y preferencias persistentes. Diseño mobile-first completamente responsivo.
- 01
Mantener el estado local sincronizado con Supabase en tiempo real sin race conditions cuando el usuario actualiza múltiples módulos en simultáneo
- 02
Diseñar un sistema de filtros combinables para tareas y gastos que sea predecible y extensible sin librerías de filtrado externas
- 03
Construir la arquitectura de componentes React de forma completamente modular para que cada módulo, finanzas, tareas y notas, sea independiente y reutilizable
- 04
Lograr que el balance financiero y el progreso de tareas se reflejen en el panel principal en tiempo real sin recargar datos innecesariamente
- 01
Supabase como backend elimina el tiempo de configuración de infraestructura y permite concentrar el desarrollo en la experiencia del usuario desde el primer día
- 02
Context API de React es suficiente para gestionar estado global en aplicaciones de complejidad media sin necesitar Redux o Zustand
- 03
Mobile-first no es un ajuste de CSS al final: diseñar desde la pantalla más pequeña produce componentes más simples y un layout más predecible en todos los breakpoints
- 04
Centralizar múltiples módulos en una sola app requiere pensar la navegación y el estado compartido desde el inicio, no como una decisión tardía
