0%

Case study · Personal finance system

Bookie

Personal finance that updates itself. Bank, broker, crypto and bookkeeping in one place, plus an AI assistant you can ask what you spent on food this month.

Client
Internal tool
Year
2026
What we did
  • Systems
  • AI
  • Apps

The brief

The money lived in six places: a Dutch bank, Wise, a broker, two crypto exchanges and a bookkeeping app. Every overview meant exporting CSVs and pasting them into a sheet that was out of date by Tuesday.

The goal: one number that is always right, pulled automatically, without handing the keys to a third-party aggregator.

What we built

  • Six sources synced on a schedule
  • Automatic categories and transfer detection
  • An MCP server for AI assistants
  • Web, Mac and iPhone apps

A small self-hosted server pulls every source on its own clock. Banks sync every six hours, because the European PSD2 rules allow four unattended fetches a day. Exchanges sync hourly and the broker twice a day. If a sync fails, it retries and then sends one push alert.

Money moving between your own accounts is matched in four passes, from certain to likely, so it never counts as spending. 390 merchant rules categorise the rest, and one click on the review page turns a correction into a new rule.

Claude can ask it questions over MCP: 14 read-only tools, including a SQL tool that parses every query and only allows a single SELECT on approved tables. Credentials are encrypted at rest, and it all runs on a server the owner controls.

Under the hood

  • Node.js
  • TypeScript
  • Hono
  • SQLite
  • MCP
  • React
  • Recharts
  • Electron
  • Capacitor

By the numbers

  • 14 Read-only MCP tools
  • 6 Financial sources synced
  • 390 Merchant rules out of the box

Screens show generated demo data.

Next project Invoicify Invoicing system

Got something
worth building?

Rough is fine. Send us the idea before it is tidy, while there is still room to make it stranger.