Back to Featured Projects

A clean, offline-first personal finance tracker built with Flutter for Android. Track expenses & income, manage budgets, view beautiful charts, export reports, and automatically capture Google Pay transactions.

Technologies
DartFlutterSQLiteHiveRiverpodfl_chartFreezed
FocusSystems, Performance, Developer DX
StatusDone

Architecture Layout

+-------------------------------------------------+
|                   Walt App                      |
+-------------------------------------------------+
        |                   |                |
        v                   v                v
+----------------+ +----------------+ +----------------+
|  Presentation  | |   Providers    | |    Shared      |
|  (Features)    | |   (Riverpod)  | |   Widgets      |
+----------------+ +----------------+ +----------------+
        |                   |                |
        +---------+---------+----------------+
                  |
                  v
+-------------------------------------------------+
|               Data Layer                        |
|  - Freezed models (Transaction, Category,       |
|    Budget, Account)                             |
|  - SQLite via sqflite (primary storage)         |
|  - Hive (caching & settings)                    |
+-------------------------------------------------+
                  |
                  v
+-------------------------------------------------+
|             Services Layer                      |
|  - Export Service (CSV / PDF)                   |
|  - Notification Service (budget alerts)         |
|  - Google Pay auto-capture                      |
+-------------------------------------------------+

Project Case Study & Features

Why Walt

Most finance apps require an internet connection or lock features behind subscriptions. Walt is fully offline-first — your financial data stays on your device, private and accessible anytime.

Features

  • Offline-first with SQLite + Hive for fast, reliable local storage.
  • Beautiful charts — monthly bar charts, category pie charts, and spending trend lines powered by fl_chart.
  • Budget planning with progress tracking and alert notifications.
  • CSV & PDF export with Android share sheet integration.
  • Biometric app lock for secure access.
  • Dark mode support with a clean, modern UI.
  • Fully customizable categories for organizing transactions.
  • Google Pay auto-capture for seamless transaction recording.

Tech Stack

  • Flutter + Dart for cross-platform UI
  • sqflite — local SQLite database
  • hive_flutter — fast caching for categories, settings, and pending GPay transactions
  • flutter_riverpod — declarative state management
  • go_router — declarative navigation
  • fl_chart — all charts (bar, pie, line)
  • freezed + json_serializable — immutable, serializable data models

Challenges & Obstacles

Designing an offline-first architecture that keeps data consistent across SQLite and Hive caches while supporting real-time chart updates and background notification scheduling for budget alerts.

Key Lessons Learned

Gained deep experience with Flutter state management using Riverpod, learned to architect clean separation between data, domain, and UI layers, and understood the trade-offs between local databases for mobile apps.