← All projects
Trove
Personal finance across yen, Canadian and US dollars.
- Status
- TestFlight beta
- Platforms
- iPhone, Mac
- Started
- 2026
- Built with
- SwiftUI, GRDB, SQLCipher, CloudKit, Vision, App Intents
Privacy ↗ (opens in a new tab)Support ↗ (opens in a new tab)
Why I made it
Trove exists to answer three questions: what can I comfortably spend, where is my money going, and is my overall position getting better?
My money is spread across yen, Canadian and US dollars, Wise, Interactive Brokers and Japanese banks, and general budgeting apps don't handle that mix well. Trove is meant to collect the evidence, do the accounting, and bring me a few useful decisions, so there's less admin even when I ignore it for a while.
What it does
- A weekly “available to spend” amount that accounts for upcoming bills, protected money and savings goals.
- Exact amounts in JPY, CAD and USD, with net worth and monthly income and spending per currency.
- On-device receipt scanning in English and Japanese. When the bank record arrives later, it merges so the spend counts once.
- Read-only Wise connection and Interactive Brokers reports for transactions, balances and holdings.
- An import workbench for bank and card CSVs that remembers each source's columns and can undo a whole batch.
- Category rules: file a shop once, and future imports, receipts and quick adds follow.
- Ask Trove: plain-language questions about your records, answered on-device with exact totals.
- Bill reminders, split payments, a cash-flow forecast and widgets.
Screenshots












Under the hood
- End-to-end encrypted sync. Trove runs its own sync engine over CloudKit: every record is sealed with AES-GCM and record names are HMACs, so iCloud only ever sees ciphertext.
- The ledger on the device is a SQLCipher database with a device-only key in the Keychain, plus an encrypted, versioned backup format for restores.
- In Ask Trove, the on-device model only turns your question into validated, read-only filters. The totals are exact integer maths, and the model never sees an amount.
- The accounting edge cases are handled on purpose: transfers, refunds and card repayments aren't counted as spending, and imports are deduplicated and saved atomically.