I was using four separate apps to track things about my own life, and three of them wanted a subscription to show me my own data. So I built one that doesn’t talk to a server at all.
Modules
- Habits — daily check-off with streak history
- Goals — nested targets with progress rollup
- Journal — plain text entries, searchable
- Mood — one tap a day, charted over time
- Spending — categorised, with a breakdown chart
- Subscriptions — renewal dates and monthly total
The offline constraint
Nothing leaves the device. That ruled out most convenient options and made a few things genuinely harder — there’s no backup story beyond exporting a file yourself, and no cross-device sync at all.
I decided that was the right trade. A personal journal that syncs to someone’s server is a different product with different risks.
Hardest part
Not the features — the build pipeline. Getting a reproducible Android build out of EAS took more attempts than I want to write down. The app itself was the easy half.