Finanzas Snake
Finanzas Snake lleva las cuentas de una persona o de una pareja sin base de datos en ningún servidor. Cada cuenta o movimiento es tuyo, de la otra persona o conjunto, y la app cubre desde el mes a mes hasta los préstamos con su amortización.

Cómo funciona
Es una aplicación en React 19. Cuentas, movimientos, deudas y periodos viven en IndexedDB y se validan con Zod cada vez que se leen. Los importes se guardan como texto y se calculan con big.js, para no perder céntimos por redondeo.
Si pones un PIN, la app deriva una clave AES de 256 bits con PBKDF2 y cifra con AES-GCM todos los datos, incluida tu clave de la API de IA. Sin el PIN, lo guardado en el navegador no se puede leer.
Un extracto en CSV se interpreta en local. Uno en PDF se envía a Gemini con tu propia clave, que devuelve los movimientos en JSON. Antes de confirmar, la app marca los duplicados y empareja los traspasos entre tus cuentas. El asesor también usa Gemini: recibe un resumen del mes y responde en un chat que se puede exportar a PDF.
Para pasar los datos al móvil, un dispositivo genera un código de diez caracteres y el otro lo introduce. Se conectan por WebRTC con PeerJS y la copia viaja de uno a otro. Solo si la red no permite la conexión directa pasa por un servidor de retransmisión, dentro del canal cifrado de WebRTC.
Los préstamos se calculan con amortización francesa a partir del TIN y del plazo, y un simulador compara qué pasaría al reunificar varias deudas.