Saltar al contenido
HA
← Todos los proyectos

Nuxt 4

Spender

App de finanzas personales: gastos, ingresos, transferencias, cuentas y reportes. Web y app Android desde el mismo código, con uso offline y sync en segundo plano.

Qué resuelve

Quería registrar movimientos sin depender de la red. Las transacciones viven en IndexedDB y cada mutación queda marcada como pendiente; un worker sincroniza cada 60 s mandando lo pendiente con su syncedAt, y la API responde qué crear, actualizar o borrar en local. Los _id se generan en el cliente con BSON ObjectId, así que un registro hecho sin cobertura nace ya con su identidad definitiva. En Android suma desbloqueo por biometría y escaneo de boletas con OCR: la foto no se guarda ni se sube.

Stack

  • Nuxt 4
  • Capacitor 8
  • Express
  • MongoDB
  • IndexedDB
  • Fly.io
  • Netlify

Infra

Monorepo npm workspaces. Nuxt 4 como SPA sin SSR en Netlify; API Express + TypeScript con MongoDB en Fly.io. Capacitor 8 envuelve ese mismo build para Android (minSdk 24, targetSdk 36) con el proyecto nativo versionado y APK de release firmado. El OCR viaja dentro del APK —unos 11 MB de tesseract.js— para que escanear funcione sin red. Play Store pendiente.