
Expense Tracker
This is a personal expense tracker for my New Zealand bank accounts. It is one calm place to see where my money goes, without exporting CSVs or paying a subscription. It opens straight onto my transactions, already sorted.
The idea
Transactions sync automatically from my bank through Akahu, the local open banking service. Each one lands with a category already guessed by a set of rules, and I can correct it, add a note, or delete it. Everything is stored in Firebase, so the same data is on my laptop and my phone.
How it's built
- React and TypeScript on Vite, with MUI themed to a flat banking look.
- Firebase for sign in and Firestore for storage.
- Two small serverless functions hold the Akahu and Claude keys.
A few details worth noting
The bank tokens never reach the browser. A serverless function holds them and checks my Firebase token before it answers. It spots recurring charges and works out a monthly subscription total, and a Reports page asks Claude to write a short, plain summary of the last few months, streamed in as it is written.
