My Customer: Ledger & Dues
Modern Android customer ledger, dues tracking, and accounts receivable platform built with Jetpack Compose, Material 3, and Supabase PostgreSQL with Row Level Security.

Overview
My Customer is a high-performance native Android credit ledger and accounts receivable platform designed for small business owners, merchants, and independent service professionals. Engineered from scratch with Clean Architecture and Material Design 3, it simplifies customer balance tracking, partial payments, daily/weekly recovery planning, and one-tap statement sharing.
The Problem
Small businesses and independent operators often struggle to track credit, recurring dues, and outstanding balances using manual paper registers or overly complex enterprise accounting tools. Field collection requires an intuitive, fast, and offline-resilient mobile tool that supports route-based collection lists, instant payment reminders, and professional customer statements on the go.
Architectural Approach & Engineering Highlights
- Declarative Jetpack Compose & Material 3 UI: Built 100% in Jetpack Compose with edge-to-edge system insets, dynamic theming, and responsive UI components with zero legacy XML overhead.
- Clean MVVM & Resilient Error Handling: Structured with a unified
MainViewModelbase withlaunchCatchingerror boundaries, structured concurrency, and automatic crash diagnostics via Firebase Crashlytics. - Supabase BaaS & Row Level Security (RLS): Backed by Supabase PostgreSQL, enforcing strict tenant isolation with granular RLS policies (
auth.uid() = user_id) and PKCE authentication flows. - Zero-Loss Legacy Migration: Safely migrated 4,676 user authentication identities and 11,807 historical customer ledger records from Firebase Realtime DB to PostgreSQL with 100% data reconciliation.
- R8 / ProGuard Optimization: Configured aggressive R8 tree-shaking, rule pruning, and resource shrinking, reducing release APK size by 82% (from ~67 MB down to ~12 MB).
Key Features & Domain Capabilities
- Timeline Ledger & Balance Tracking: Real-time customer balance calculations (
PAID,NOT_PAID,PARTIALLY_PAID) backed by an audit-ready transaction history timeline. - Installment & Dues Recovery: Daily and weekly collection planning with location/route-based sorting, target progress tracking, and scheduled morning recovery alarms.
- 1-Tap WhatsApp Communication: Direct WhatsApp balance alerts and payment receipts dispatched seamlessly from customer cards.
- Multi-Format Export & Print Spooler: In-memory Excel (
.xlsx/.csv) and high-fidelity Vector PDF statement generation integrated with Android’s native print spooler. - Monetization & Privacy Compliance: AdMob integration with rewarded video unlocks for advanced export features, paired with Play Store-compliant in-app account deletion.
Results & Impact
- 82% reduction in release APK size through granular R8 shrinking and dependency stripping.
- 100% data fidelity achieved across 16,000+ migrated production accounts and customer records.
- Instant ledger balance reconciliation powered by relational PostgreSQL queries and reactive UI state flows.