ExpenseFlow - Flutter ApplicationExpenseFlow - Flutter Application
ExpenseFlow — offline-first expense tracker for Pakistan: PKR, bank SMS auto-detection, budgets, goals & 9 languages. Recently UpdatedExpenseFlow - Flutter Application
ExpenseFlow — offline-first expense tracker for Pakistan: PKR, bank SMS auto-detection, budgets, ...
Overview
ExpenseFlow is a production-ready, offline-first personal finance application purpose-built for Pakistani users. Every rupee is tracked locally on-device — no account, no server, no internet required. The app automatically captures bank transaction SMS messages in the background, parses the amount and merchant, and presents them for one-tap confirmation. Full budget management, savings goals, subscription/bill tracking, and deep analytics complete the picture, all wrapped in a polished Material 3 UI with both light and dark themes.
Built with Flutter (cross-platform iOS & Android) and backed by a local SQLite database via Drift ORM, ExpenseFlow follows Clean Architecture with Riverpod state management, ensuring a maintainable, testable, and scalable
codebase ready for production handoff or further development.
Features
Core Finance
- Dashboard — real-time running balance, this-month income/expense KPIs, active budget progress cards, 5 most-recent transactions - Transactions — add income, expense, or transfer; paginated list with date grouping; search; filter by type, period (today/week/month/year), and category; 4 sort options; swipe-to-delete; inline edit sheet
- Budgets — create category-linked budgets (weekly/monthly/yearly); progress bars; 80% threshold and exceeded alerts; swipe-to-delete; edit sheet - Savings Goals — create goals with target amount and deadline; deposit funds; progress tracking; deadline warning notifications - Subscriptions & Bills — track recurring bills; pause/resume; upcoming renewal detection; 7-day, 1-day, and due-today reminders
Smart SMS Detection (Android)
- Foreground detection — live listener for incoming bank SMS; instant notification on detection - Background detection — runs in a headless isolate when the app is fully closed; queues detected transactions to SharedPreferences; drains the queue on next app open
- Bank registry — pre-built sender registry covering major Pakistani banks (HBL, MCB, UBL, Meezan, Allied, etc.) - Review screen — confirm or dismiss auto-detected transactions in one tap
Analytics
- Period toggle (weekly / monthly / yearly) - KPI row: income, expenses, savings rate - Pie chart — spending breakdown by category - Trend bar chart — daily income vs. expense - Net cash flow section
Customisation & Settings
- 9 languages — English, Urdu (RTL), Spanish, Arabic (RTL), French, Portuguese, Hindi, Chinese, Indonesian - Currencies — PKR default; switchable to any supported currency via formatter - Themes — Light, Dark, System - Custom categories — create, rename, delete user-defined categories with custom icon and color - App Lock — 4-digit PIN setup + biometric (fingerprint / Face ID) - Data export — export transactions as CSV or JSON by date range and data type; share via system share sheet
Notifications (6 channels)
Budget threshold (80%) alert - Budget exceeded alert - Subscription payment reminders Bill due reminders (7-day, 1-day, same-day) Savings goal nudges and deadline warnings SMS transaction review nudge
UX & Polish
- Animated splash screen - Lato (body) + Roboto (headings, numbers, nav) dual-font typography - Dismissible swipe-to-delete with confirmation dialogs throughout - Styled toast notifications (success / error / info) with icon and shadow - Paginated transaction list (25 items/page, auto-loads on scroll) - Permission requests at first launch (SMS, notifications)
Requirements
| Requirement | Details | |||
|---|---|---|---|---|
| Android | iOS | Storage | Permissions (Android) | POST_NOTIFICATIONS (Android 13+)• USE_BIOMETRIC (optional) |
| Permissions (iOS) | not available on iOS due to Apple platform restrictions | |||
| Internet | Not required. The application works fully offline, with all data stored locally on the device. |
Instructions
| Requirement | Details | |
|---|---|---|
| Flutter SDK | 3.19+ (Dart 3.3+) | |
| Android Studio / Xcode | Code Generation | bash dart run build_runner build Used for generating Drift tables, Freezed entities, and JSON serialization models. |
| Key Packages | drift ^2.16• hooks_riverpod ^2.5• flutter_hooks ^0.20• go_router ^14• another_telephony ^0.4• flutter_local_notifications ^17• local_auth ^2.2• fpdart ^1.1• fl_chart ^0.68 |
| Category | App Templates / Flutter / Full Applications |
| First release | 4 July 2026 |
| Last update | 4 July 2026 |
| Operating Systems | iOS 10.0, Android 7.0, Android 8.0, iOS 11.0, Android 9.0, iOS 12.0, Android 10.0, iOS 14.0, iOS 13.0, iOS 15.0, Android 11.0, Android 12.0, iOS 9.0, Android 5.0, Android 6.0 |
| Files included | Layered .png, .h, .m, .xib, .nib, .pch, .swift, .apk, .db, .java, .xml, build.settings |
| Tags | analytics, material design, offline, pakistan, subscriptions, expense tracker, flutter, dark theme, budget manager, clean architecture, personal finance, riverpod, savings goals, urdu, sms detection |








