CB
Volver a casos destacados

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