Skip to content
active react typescript pwa supabase offline-first

carterapp — Personal Finance PWA

An offline-first personal finance app for Mexico: three taps per expense, MXN and USD side by side, installable from the browser.

October 1, 2026

Problem

Most people stop tracking their spending because logging an expense takes too long. In Mexico there’s a second problem: money lives in pesos and dollars, and card cut-off and payment dates pile up around paydays.

Approach

Every decision was judged against one question: does this add a tap?

  • One-screen entry — amount, category, and account on a single screen, with a keypad built for thumbs. Users can reorder the fields.
  • Offline-first — every record is written to the device first (IndexedDB) and synced to Postgres later. IDs are minted on the device, so syncing twice never duplicates anything.
  • Integrity in the database — composite foreign keys make it impossible for a transaction to disagree with its account’s currency or its category’s type. MXN and USD are never converted or summed together.
  • Planning views — monthly budgets per category, every card’s cut-off and payment date on one calendar next to bills and paychecks, and a month-end balance projection that warns before the balance dips below zero.
  • Platform — an installable PWA in Spanish and English, with a backend for subscriptions (Stripe) and push notifications.

Outcome

carterapp is live at carterapp.com.mx: a first expense is logged in under two minutes from landing on the site, and it keeps working on the metro or on a plane.