Boncos

A personal expense tracker for Android that reads my bank's transaction emails, prices my crypto across four exchanges, and reconciles every month against the bank's own statement.
Boncos records income and expenses from three sources: my bank's transaction emails, my crypto exchange accounts, and manual entry for the rest. Everything is stored in SQLite on the phone. There is no account, no sync, and no server holding my data.
I have been using it as my only expense tracker for three months.
What it does
- Reads bank emails. Gmail API into an LLM into a validated row, filtered to four sender addresses, one month at a time.
- Real time notifications. A Cloud Run relay watches the inbox and pushes a parsed transaction to the phone within seconds of paying, without the app being open.
- Statement reconciliation. Imports the monthly PDF with a deterministic parser and refuses the import unless the opening balance plus every line equals the closing balance.
- Crypto net worth. Reads balances directly from OKX, Bitget, Binance and Bybit with read only keys, including the Earn products that aggregators miss, and prices them in IDR.
- Two legged transfers. Paying a credit card bill moves money between two of my own accounts, so both legs are recorded and neither counts as spending.
- Search and filter. By merchant, category, wallet and month, over the month currently in view.
- Backup and export. Full JSON backup with a replace all restore, plus CSV for spreadsheets. Neither ever contains an API key.




Seeing it work
video demo (WIP)
Three real payments, made on three different channels, appearing on the lock screen seconds later.
Design
Black and orange, monospace on every number, a single 56px row used for transactions, wallets, assets and settings alike. Orange appears at most once per screen: the primary button, or the active tab, never both.
Why the repo is private
The code is a map of one person's bank notifications, and it only works for one bank. The reasoning behind it is public instead, in the write up below.
Posts about this project
- I stopped typing my expensesSep 1, 2026