Andrew Parra EN

Lab · Finanzas personales

Cupel (FinanceOS)

Una app de finanzas personales autoalojada que sincroniza las transacciones bancarias y pone primero el patrimonio neto y el avance de las metas.

Estado
En línea · privada
Quién lo usa
Andrew. Está hecha para admitir más de una cuenta, con inicio de sesión y cobros, pero hoy es su herramienta personal.
Hecho con
Node.js + Express · SQLite (un archivo por usuario) · Plaid · Stripe · Claude API · Capacitor · Render

El planificador de pagos de tarjetas, en su orden fijo

Ejemplo

Sueldo de ejemplo $1,200

  1. 1
    Colchón de seguridad$500 de $500 · lleno
  2. 2
    Pagos mínimos, cada tarjeta$180 de $180 · lleno
  3. 3
    Pagos adicionales$520 · lo que queda

Muestra el cálculo: 1,200 − 500 colchón − 180 mínimos = 520 adicionales

Detección de cargos duplicados Ejemplo

Cafetería$4.75pendiente
COFFEE SHOP #12$4.75registradoDuplicado

Patrimonio neto en el tiempo Ejemplo

Cuenta agregada: no es una ganancia
“Trabaja en un orden fijo: colchón de seguridad, luego pagos mínimos, luego pagos adicionales, y muestra el cálculo.” El dinero solo pasa al siguiente paso cuando el anterior está lleno.

El problema

La mayoría de las apps de finanzas empiezan por las categorías de gasto. Cupel empieza por el panorama de largo plazo, el patrimonio neto y las metas, y trata el flujo de caja, las deducciones fiscales y la deuda como las palancas que lo mueven. La idea es tener números lo bastante confiables como para actuar con ellos.

Cómo funciona

Sincronización bancaria

Las cuentas se conectan con Plaid Link, así que la app nunca ve una contraseña bancaria. Las transacciones se sincronizan de forma incremental cuando Plaid avisa que hay datos nuevos.

Flujo de caja que separa lo seguro de lo probable

Los ingresos “garantizados” se mantienen aparte de los estimados, así que las decisiones de pagos obligatorios solo cuentan con dinero seguro.

Planificador de pagos de tarjetas

Trabaja en un orden fijo: colchón de seguridad, luego pagos mínimos, luego pagos adicionales, y muestra el cálculo.

Metas con veredicto

Cada meta muestra el monto mensual necesario frente a lo que de verdad sobra, y señala las metas que compiten por el mismo dólar.

Patrimonio neto en el tiempo

Una foto diaria, en la que agregar o quitar una cuenta queda registrado para que nunca se lea como ganancia o pérdida.

Cargos duplicados

Detecta cobros dobles entre transacciones pendientes y registradas, reembolsos y variantes del nombre del comercio.

Además

Presupuestos, detección de suscripciones y aumentos de precio, un planificador de jubilación y alertas push limitadas a lo urgente y accionable.

Dónde entra la IA

  • Preclasificación de deducciones fiscales: cada transacción se clasifica como probable / posible / no para revisión, nunca se declara.
  • “Ask” responde preguntas sobre tus propios datos; “Assistant” convierte un escenario en lenguaje cotidiano en cambios propuestos al plan.
  • Todas las llamadas a Claude pasan por un solo wrapper con reintentos, un tope de gasto diario y registro de uso.

Salvaguardas

Cerrada por defecto

Cada ruta requiere inicio de sesión, y la app se niega a arrancar sin una contraseña configurada.

Tokens bancarios cifrados

Los tokens de acceso bancario se guardan cifrados (AES-256-GCM) con una clave distinta por usuario.

La IA nunca hace las cuentas

Las herramientas de Ask son de solo lectura, la base de datos calcula cada cifra y los cambios de Assistant requieren un clic explícito.

No es asesoría fiscal

Los niveles de deducción son una preclasificación para que una persona la revise. Nada se declara automáticamente.

Notas de ingeniería

Un archivo de base de datos por usuario

En lugar de una columna de usuario en cada tabla. Con cientos de consultas escritas a mano, el límite de un archivo no se puede olvidar, y exportar o borrar se vuelve una operación de archivos.

“El modelo elige la consulta, la base de datos calcula, el modelo explica”

Así, cada número en una respuesta de la IA sale de la base de datos, no del modelo.

Inicio de sesión nativo

Las apps del teléfono no pueden guardar una cookie web, así que la misma sesión firmada viaja como bearer token solo hacia orígenes de la app en la lista permitida.

Reglas de la App Store desde el diseño

No hay enlaces de compra dentro de la app nativa, y la función experimental de trading se elimina de las versiones para clientes; la compilación falla si queda cualquier rastro.

Qué sigue

Las versiones para iOS y Android existen, pero no se han enviado. Lo siguiente es el papeleo para las tiendas: una entidad legal, cuentas de desarrollador y páginas públicas de privacidad y términos.