09 Installable PWA · local-first personal finance
MoneyCash
A full web alternative to Money Pro for Spanish-speaking users — offline-first, data on the device, 130+ defects killed before launch.
AThe problem
Money Pro has no real web equivalent for Spanish-speaking users — and for personal finance specifically, asking someone to put every transaction they have ever made on someone else’s server is a hard sell.
BWhat we built
A complete web alternative built for Spanish-speaking and Colombian users (COP by default, decimal comma), and local-first by architecture: data lives in the device’s IndexedDB and the app works fully offline, with optional Supabase sync — managed cloud with row-level security, or a self-hosted project — designed so it can become a SaaS later without changing the local schema.
CSignature pieces
The parts worth looking at.
- 01
Fourteen sections and a 17-topic help center
Multi-currency transactions (expenses, income, transfers, splits and tags, with on-device receipt OCR), a CSV importer with duplicate detection and auto-categorization, hierarchical budgets, scheduled payments across eight recurrence types, debts, goals and bank reconciliation.
- 02
A prediction engine for the bills you forgot to schedule
It reads patterns in transaction history and surfaces recurring payments the user never set up — the ones that quietly break a budget.
- 03
Security that is actually applied
PIN protection with PBKDF2-SHA256 at 210,000 iterations, AES-256-GCM encrypted backups, automatic copies taken before any destructive operation, and secrets that never leave the device.
- 04
A multi-provider AI financial assistant
Claude and Gemini behind one interface, with streaming responses and an API key stored only in local storage on the user’s own device.
- 05
Strict domain invariants
Amounts are always positive with direction held separately, dates normalize to local noon to survive time zones, and the number parser accepts both “1.000,50” and “1,000.50”. Its own design system on top: light and dark themes, a colorblind-validated palette, mobile-first.
EOutcome
More than 130 real defects were found and fixed before launch through adversarial multi-agent rounds — finders proposing defects, refuters trying to disprove each one against the code. Backed by 71 tests, CI running typecheck, tests and build, and continuous deployment on Netlify.
FStack
- React 18
- TypeScript (strict)
- Vite 5
- Dexie (IndexedDB)
- Zustand
- React Router
- Recharts
- date-fns
- vite-plugin-pwa / Workbox
- Supabase (Auth + Postgres + RLS)
- Anthropic API
- Google Gemini API
- Web Crypto (PBKDF2, AES-256-GCM)
- Notifications API
- Vitest
- GitHub Actions
- Netlify
GStill to supply
- [TODO-DUEÑO] Usage, user or revenue metrics, if you want numbers here.
- [TODO-DUEÑO] Screenshots.