Umber v0.1.0
First public build of Umber — an offline expense tracker for Indian bank and UPI SMS.
Android 8.0+ · 12 MB · no INTERNET permission
Install
Download umber-0.1.0.apk below and open it. You'll need to allow installs from unknown sources.
On first launch, grant SMS access, then Settings → Import history → 1 year to populate the
ledger and give the classifier something to learn from.
Not on the Play Store, and won't be:
READ_SMSis a restricted permission that Google's
permitted-use list doesn't cover for expense tracking.
What's in it
- Reads bank and UPI SMS — live, plus 1 month / 3 months / 1 year of history
- Statement import —
.xlsx, CSV or TSV, no per-bank configuration - On-device categorisation — merchant memory → logistic regression over character n-grams →
bundled lexicon of ~200 Indian merchants - Learns from corrections — one tap writes merchant memory, retro-labels that merchant's
history and takes a gradient step - Cross-source dedupe — a statement overlapping months of SMS won't double anything
- Reimbursement netting — pay a friend ₹1,000 and get it back, and you spent ₹0
- Home-screen widget — rolling 24h / 7d / 30d spend
- CSV export — plain numbers that sum in a spreadsheet
Privacy
The app ships without INTERNET. Not a policy — the permission isn't in the manifest, so it
cannot open a socket. Cloud backup is disabled too, since the database holds raw bank SMS.
No reverse geocoding (that would need network), so locations are coordinates only.
Known limitations
- Merchant extraction is the weakest link; bank templates vary a lot. Settings → "Messages skipped"
shows why anything was ignored — please open an issue with redacted examples. - Legacy
.xlsand PDF statements unsupported — export.xlsxor CSV instead. - Unminified, so stack traces in bug reports stay readable.
Verify
APK SHA-256 5e6e0972e52c46856f8e05dab43cb06f9d0d30a5f8f2e8d542a983894de58a40
Signing cert e98c1305c140dd954ccce7d4b7efe207436c87c29c94475aa7d1859bbb587773
133 unit tests pass. See ARCHITECTURE.md for how it works.