Finnote
Personal finance dashboard an AI agent writes to over MCP
- role
- Solo
- stack
- Convex · React · TypeScript · Vitest · MCP
- year
- 2026

the problem
I wanted one calm screen showing net worth, this month's income and expenses, account balances, budget status, spending by category, and a six-month cash-flow trend, without turning expense tracking into a data-entry chore.
an agent does the typing
The dashboard is deliberately read-focused. Records are written by an AI agent through an MCP server rather than typed into forms, so the web surface stays an overview rather than an input tool. Amounts are integer rupiah throughout, formatted as Rp 1.500.000.

testing
Every Convex module has a test file beside it, 68 of them, covering accounts, budgets, debts, invites, authorization, audit logging, migrations, and the MCP surface. They run on convex-test under Vitest. It is a single-user app, so the tests exist for my own confidence when changing the schema, not for a team.