Wang
A fully offline Android personal finance tracker that automatically captures transactions from e-wallet and banking app through notifications, with AES-256 encrypted local storage, an on-device statistical engine, AI-powered financial advice, and zero data sharing by default.

The Challenge
Most personal finance apps require an account, sync data to the cloud, or embed analytics SDKs, making privacy-conscious users uncomfortable sharing sensitive financial data. At the same time, manual transaction entry is tedious enough that most people simply don't do it.
The challenge was building a personal finance tracker that solves both problems, automatic transaction capture via notification reading (no manual input needed) and absolute data sovereignty (everything encrypted, stored on-device, never transmitted).
My Role
As the sole developer, I designed the entire product architecture and built the full Android application from the ground up.
Automatic Transaction Capture
- Implemented a notification listener that intercepts notifications from every transaction using regex parsers to extract amount, merchant, transaction type, and wallet source from raw notification text
- Handled a manual entry fallback when notification permission is not granted
Encrypted Local Storage
- Integrated SQLCipher (AES-256) on top of Room for fully encrypted on-device database Stored sensitive keys (Gemini API key) in the preference backed by Android Keystore
- Built encrypted backup and restore, export/import the entire database as a single binary file to local storage, no cloud upload
Statistical Engine & Anomaly Detection
- Built a statistical engine that will compute the spending trends (least-squares regression), budget burn rate, month-end projections, seasonality delta, savings rate, and a composite financial health score (0–100)
- Implemented an Isolation Forest for anomaly detection that trains on the user's own transaction history, retrained weekly via WorkManager
AI Advisor
- Designed and implemented the Fin paid feature (IDR 49.000 one-time purchase) via Google Play Billing
- Built the Gemini API integration using the user's own API key
- Implemented daily recommendation generation, weekly digest, and a what-if scenario simulator
Background Jobs & Smart Alerts
- Configured WorkManager for daily Fin recommendations, weekly anomaly model retraining, and 30-minute widget updates
- Built 6 types of local smart alerts (budget warning, budget exceeded, unusual transaction, recurring detected, goal milestone, weekly digest)
- Handled devices background process management with deep-link guides for Autostart, background popup, and battery restriction settings
Tech Stack: Kotlin, Jetpack Compose, Material 3, Hilt, Room, SQLCipher, WorkManager, Gemini API, Vico, Jetpack Glance, BiometricPrompt, DataStore, Paging 3, Coil
The Outcome
Delivered an offline privacy-first Android personal finance app with notification-based automatic transaction capture and AES-256 encrypted storage to a statistical engine, Isolation Forest anomaly detection, and a Gemini-powered AI advisor. The product is designed for real-world deployment on the Indonesian market with a sustainable one-time monetisation model, full offline capability, and deliberate handling of device constraints.
