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

Métricas
- Módulos principales
- 3
- Persistencia
- Supabase
- Diseño
- Autenticación
- Segura
- Estado global
- Context API
- Año
- 2025
El problema
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.
La solución
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.
Stack técnico
- Frontend
- React.js · Vite.js · JavaScript · Tailwind CSS
- Backend
- Supabase · PostgreSQL
Desafíos
Mantener el estado local sincronizado con Supabase en tiempo real sin race conditions cuando el usuario actualiza múltiples módulos en simultáneo
Diseñar un sistema de filtros combinables para tareas y gastos que sea predecible y extensible sin librerías de filtrado externas
Construir la arquitectura de componentes React de forma completamente modular para que cada módulo, finanzas, tareas y notas, sea independiente y reutilizable
Lograr que el balance financiero y el progreso de tareas se reflejen en el panel principal en tiempo real sin recargar datos innecesariamente
Aprendizajes
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
Context API de React es suficiente para gestionar estado global en aplicaciones de complejidad media sin necesitar Redux o Zustand
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
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