Saravanan — Portfolio 2026

Skip to content
All products

Personal expense tracker

Ledger

Track spending, income and bills in seconds. Built for India, on Android.

Role
Solo: design, development and Google Play release
Status
On Google Play
Stack
Flutter, Dart, BLoC (Cubit), Firebase, Kotlin, Material 3
Ledger home screen with today's spending

Results

to log an expense
5s
automated tests
47
ads, analytics or trackers
0

01Problem

People lose track of where their money goes because logging an expense takes too long, and their cash, bank, card and wallet balances live in different places. Many finance apps also come with ads and tracking.

02Architecture

A Flutter app using Cubit for state, on Firebase Auth, Realtime Database, App Check and Hosting. It is offline-first and syncs automatically. Kotlin handles the home-screen widget, the optional detection of payments from UPI apps' notifications, and Android Keystore encryption for the on-device payment queue.

03Key decision

Updating balances with atomic database operations, so they stay correct across devices and offline. The same care means a recurring entry can never post twice, even when two devices open the app at once.

04Result

Built and shipped alone, from design to release on the Google Play Store. It has no ads, analytics or tracking, database security rules on every field, 47 automated tests, and passed a security review before launch.

Screens

Ledger add-expense keypad
Ledger spending analytics
Ledger budgets