01 / The brief
A personal finance app for tracking day-to-day spending against monthly budget targets, with visual breakdowns by category and sync across devices.
02 / The problem
Connectivity. A finance app that only works online is useless at the exact moment you need it, standing at a counter, about to log a spend. The architecture is offline-first: every write lands in local SQLite immediately and the UI updates from there, with a background worker reconciling against Firestore whenever a connection returns. The network is treated as an enhancement, never a dependency.
03 / What I built
- Category-based expense tracking with monthly budget targets
- Visual spending breakdowns built with fl_chart and custom painters
- Offline-first architecture, local SQLite cache with background sync
- Firebase Firestore cloud sync for multi-device consistency
- Full usability with no internet connection at any point
04 / Stack
- Flutter
- Dart
- SQLite
- Firebase
05 / Selected screens
06 / Outcome
- OfflineFirst architecture
- SQLiteLocal cache
- fl_chartData visualisation
- 2024Built
