Built for two people. Both use it every day.
My sister and I wanted to know where our money was going without typing in every payment or handing our bank messages to someone's server. Tyche reads the transaction SMS our banks already send, turns them into expenses, and keeps everything on the phone.
It's named after Tyche, the Greek goddess of fortune.
A month of spending, at a glance.
These are my real numbers. Other people's names and UPI IDs are pixelated.
From a bank message to a tagged expense.
Every incoming SMS goes through a short funnel. Messages from senders that aren't on the bank allowlist are dropped before anything is written to disk.
The one interaction I cared most about.
Confirming transactions one at a time is the reason most expense apps get abandoned. In Tyche's review inbox, you long-press a payee card and it lifts into a circle with the payee's initial and amount, while your tags orbit around it. Drop it on a tag and every transaction from that payee is tagged at once.
A 20 ms buzz on lift, 18 ms as you pass over a tag, 45 ms on drop. Tested on the phone and tuned until it felt right.
Tags catch the card from 2.2× their visible size, a miss springs back, and every drop can be undone.
The first version moved a square card. On a real phone the card hid under the tags, so it became a circle in an overlay above everything.
A privacy promise the build itself keeps.
Lots of finance apps say your data stays on your phone. Tyche's Android manifest doesn't request the internet permission, so the operating system won't let it open a network connection at all. The privacy screen explains exactly what is read and why, and it can't claim anything the build doesn't guarantee.
Built with Kotlin, Jetpack Compose and Room. Line and bar charts use Vico; the donut, budget gauges and income-vs-spending chart are drawn by hand on a Compose canvas, because those interactions are the product.
Pointed at 21 days of real messages.
Using a debug-only back-fill tool, I ran Tyche over the last 21 days of my own messages. It stored 91 bank messages, ignored 102 promotions and one-time passwords, and turned the rest into 83 transactions waiting in the review inbox. Since then it has picked up every new payment as the SMS arrives.
Try it on your phone.
Tyche isn't on the Play Store. If you'd like to try it, you can install the same build my sister and I use.
$ file tyche-1.0.0-alpha1.apk
$ cat CAUTION
This is an unofficial alpha debug build of a personal project, installed outside the Play Store. It's provided as is, with no warranty of any kind. By installing it you accept that you use it entirely at your own risk, and that I'm not responsible for any loss of data, money, or damage to your device that may result.
Tyche asks to read your SMS so it can find bank messages. It has no internet permission, so nothing it reads can leave your phone. You'll need to allow installs from unknown sources.