All Projects
Mobile

ExpenseSnap — Personal Expense Tracker

A beautifully designed personal finance app for iOS and Android. Track daily expenses by category, set monthly budgets, and visualise your spending with animated charts — all stored offline on your device.

FlutterDartSQLitefl_chartRiverpodGoogle Fonts

What needed solving

Most people have no idea where their money goes every month. They overspend on food and travel without realising it until their account balance drops. Existing finance apps are either too complex, require bank account linking, or don't work offline. People need a simple, fast, private way to log expenses on the go.

How I solved it

I built ExpenseSnap — a fully offline expense tracker that takes under 5 seconds to log any expense. No sign up, no bank linking, no internet required. A clean dashboard shows exactly where your money is going with animated charts and a real-time budget progress bar. Category-based spending limits and smart alerts keep you on track throughout the month.

A look at the product

ExpenseSnap — Personal Expense Tracker screenshot 1
ExpenseSnap — Personal Expense Tracker screenshot 2
ExpenseSnap — Personal Expense Tracker screenshot 3
ExpenseSnap — Personal Expense Tracker screenshot 4
ExpenseSnap — Personal Expense Tracker screenshot 5
ExpenseSnap — Personal Expense Tracker screenshot 6
ExpenseSnap — Personal Expense Tracker screenshot 7
ExpenseSnap — Personal Expense Tracker screenshot 8
ExpenseSnap — Personal Expense Tracker screenshot 9
ExpenseSnap — Personal Expense Tracker screenshot 10

Key Features

  • Log expenses in under 5 seconds — amount, category, note, date
  • Real-time budget progress bar with colour-coded alerts at 80% and 100%
  • Animated pie chart and 6-month bar chart for spending visualisation
  • Category-based spending limits — Food, Travel, Shopping, Health, Bills
  • Transaction history grouped by date with swipe-to-delete
  • Fully offline — all data stored locally on device using SQLite

Architecture

  1. 01Flutter single codebase compiles to native iOS and Android binaries
  2. 02Riverpod for predictable, testable state management across all screens
  3. 03SQLite via sqflite package for offline-first local data persistence
  4. 04Repository pattern separating data layer from UI layer cleanly
  5. 05fl_chart for performant animated chart rendering on both platforms
  6. 06Dart intl package for locale-aware currency and date formatting

Results & Outcomes

Complete expense logging flow takes under 5 seconds per entry

Fully offline — works without any internet connection

Single codebase deployed to both iOS and Android simultaneously

Budget awareness improved through real-time visual progress tracking

Zero data privacy concerns — no data leaves the device

Want a similar solution?

I'm available for new projects. Let's talk.