Producto personal full stack
Aplicación funcional · Beta
TallyNorth: proyección y análisis financiero multimoneda
Plataforma full stack que integra cuentas, inversiones y consumos con tarjeta para consolidar el patrimonio y proyectar el flujo de caja mensual.
- Next.js
- TypeScript
- FastAPI
- PostgreSQL
Contexto
El control financiero personal cotidiano suele limitarse al registro de gastos pasados. Sin embargo, para tomar decisiones reales, el usuario necesita ver su liquidez futura consolidada y planificar consumos a plazo antes de que impacten en sus cuentas.
El problema
El desafío técnico era representar de forma íntegra las compras con tarjeta según su fecha de cierre y vencimiento, proyectar flujos futuros calculando recurrencias bajo demanda y consolidar activos financieros en distintas monedas sin cotizaciones directas.
Mi rol
Diseñé y desarrollé la aplicación de extremo a extremo: desde el diseño del esquema relacional y las reglas del dominio financiero en el backend, hasta la construcción del cliente de API y las vistas analíticas en la interfaz.
Condicionantes
- Modelar la lógica de tarjetas de crédito con fechas de cierre y vencimiento sin generar inconsistencias de fechas
- Garantizar el aislamiento estricto de registros entre usuarios en todos los endpoints
- Procesar importaciones masivas de consumos asegurando validaciones y consistencia de datos
Decisiones clave
- Modelar cada compra con tarjeta y sus cuotas como entidades independientes para registrar individualmente sus vencimientos y pagos, mientras que las recurrencias futuras se calculan bajo demanda
- Separar las reglas de conversión de divisas, proyecciones de flujo e importaciones del framework web, facilitando su mantenimiento y testing independiente
- Implementar el aislamiento de datos multiusuario en el backend para que cada petición opere únicamente sobre los registros del usuario autenticado
Cómo lo implementé
- Estructuré la API REST en FastAPI definiendo schemas Pydantic diferenciados para la entrada y salida de datos
- Construí la interfaz web interactiva con Next.js, React y TypeScript, administrando el estado y optimizando las peticiones de datos al servidor
- Integré Recharts para el dashboard interactivo y Yahoo Finance para la sincronización programada de cotizaciones
Controles y calidad
- Asegurar la integridad transaccional de la base de datos para registrar movimientos, tarjetas y presupuestos de forma atómica y evitar estados parciales huérfanos
- Proteger el token de sesión mediante el uso de cookies firmadas HttpOnly con políticas Secure y SameSite frente a accesos no autorizados
- Migraciones de esquema versionadas con Alembic y ambiente contenerizado reproducible mediante Docker Compose
Estado y resultado verificable
- Aplicación beta completamente funcional desplegada en producción y repositorio de código público accesible
- Dashboard bilingüe integrado que muestra proyecciones mensuales de cashflow, avance de metas y rendimiento de inversiones
- Carga de consumos individual, masiva desde archivos CSV y planificación automatizada de vencimientos operativa
Trade-offs y trabajo pendiente
- La carga masiva requiere archivos CSV estructurados; la flexibilidad de procesar resúmenes libres queda supeditada a un posterior módulo de IA con revisión humana
- El cálculo bajo demanda de recurrencias futuras ahorra almacenamiento y mantenimiento, pero demanda mayor procesamiento en lecturas grandes
- Se priorizó la consistencia transaccional y el aislamiento de datos sobre la velocidad de desarrollo de nuevas vistas de análisis