Mobile
Budget Tracker
Jan 2024 – May 2024GitHub
On this page
Overview
A cross-platform React Native app for tracking personal expenses with category breakdowns, recurring transactions, and monthly budget goals.
Built with Expo to target both iOS and Android from a single codebase. Transactions are stored locally with SQLite via Expo SQLite and synced to a Supabase backend when online. Features include category-level budget caps, recurring transaction rules, and a monthly summary chart built with Victory Native.
- React Native
- Expo
- TypeScript
- SQLite
- Supabase
- Victory Native
- Zod
Case Study
Situation
Existing budgeting apps required subscriptions and didn't work well offline — a deal-breaker for users in low-connectivity environments.
Task
Build an offline-first mobile app that syncs in the background and never loses data.
Action
Chose Expo SQLite as the local source of truth with an optimistic sync layer that queues mutations when offline and replays them against Supabase once connectivity returns.
Result
Zero data-loss incidents across 200+ TestFlight beta users. Sync conflict rate under 0.3% thanks to timestamp-based last-write-wins resolution.