Yunu ChoiBringing AI systems one step closer to human
All work

Expense Tracker

April 2026

A personal finance app for New Zealand bank accounts, in plain sentences and friendly 3D icons. It opens on the month's spending, already sorted and categorised.

Expense Tracker, a screenshot
Role
Sole designer and engineer
Built with
  • React
  • TypeScript
  • Vite
  • MUI
  • Firebase
  • Claude
  • Vercel

A personal expense tracker for my New Zealand bank accounts. It opens on what the month has cost so far, with every transaction already sorted.

Where it started

I was tired of exporting CSVs from ANZ and working through them in Excel. I wanted something that pulled the transactions in by itself and showed the month in plain sentences.

A set of rules gives every transaction a category on the way in, and correcting one takes a tap. It spots recurring charges, totals up the subscriptions and counts down to payday. The reports page asks Claude for a summary of the last few months.

How it's built

  • React and TypeScript on Vite, with MUI carrying the theme.
  • Firebase for sign in and Firestore for storage.
  • Transactions sync from my bank through Akahu, the local open banking service.
  • Two serverless functions on Vercel hold the Akahu and Claude keys.

Connecting to the bank

The transactions come through an Akahu personal app, which reaches only the accounts of the person who set it up. That is why this stays a tool for my own money rather than something others can sign up to.

The bank tokens never reach the browser. A serverless function holds them and checks my Firebase token before it answers.

The month's transactions, grouped by day and already categorised.

The month's transactions, grouped by day and already categorised.

1 / 3