Case study · Private beta
Bankr
An AI-first personal finance app that shows its work.
Ask Bankr about your money and every dollar figure in the answer is cited to the transaction or account it came from. If a number can't be traced, Bankr flags it instead of guessing.
How it works
Built to be right first.
A finance assistant that gets the math wrong is worse than none. Most of the work went into making answers checkable.
- 01
Cited numbers
Every dollar figure in a chat answer links back to its source. Figures the model can't cite are flagged in the UI so you never have to wonder where a number came from.
- 02
Evals against a golden ledger
An eval harness scores answers against a hand-verified ledger, and a nightly regression run catches math that drifts after a prompt or model change.
- 03
Propose, then confirm
The agent can suggest goals, rules, and budget moves, but it only proposes them. Nothing changes until you confirm.
- 04
Categorization that learns
The categorization pipeline learns from your corrections, so the same merchant stops landing in the wrong bucket.
- 05
MCP server with OAuth
Claude and ChatGPT can connect to Bankr over MCP with OAuth, with either read access or read plus propose.
- 06
Cost and latency
Prompt caching and provider routing through OpenRouter and Anthropic keep responses quick and the bill small.
Stack
What it runs on.
A FastAPI backend, a React and Vite web app, and an Expo mobile app, all on Postgres through Supabase. Bank data comes from Plaid. The API runs on Render and the web app on Vercel.
- FastAPI
- React + Vite
- Expo
- Postgres (Supabase)
- Plaid
- Render
- Vercel
- OpenRouter
- Anthropic
Writing
How evals fixed my chatbot's math
A write-up on the eval harness, and how checking answers against a golden ledger fixed the chatbot's math.