Every figure traces back to its rows, on your own or shared.
Same rows, two readings
From expense to settled
Every screen tells you which reading you're looking at.
The problem
Personal trackers stop at the front door. Shared ledgers tell you who owes whom but nothing about your own month, and they show a balance without showing how they got there.
Before: Personal trackers go silent once money is shared
After: One set of rows, read as mine or as ours
Before: Shared apps show a balance nobody can interrogate
After: The balance is derived line by line, every row drillable
Before: Rounded splits drift a paisa away from the bill
After: Shares are whole paise and always sum to the bill
Decisions
- Decision 1
The reading travels with you
A drill-down keeps Personal or Team from the dashboard you came from. It isn't a toggle.
Considered A scope switch on every screen
- Decision 2
One balance, one place to settle
There is exactly one balance and one place to clear it, worked out in the open and never stored.
- Decision 3
No brand hue
The accent is the text colour. Colour shows up only for balance direction, budget state, urgency and destructive actions.
Budget pace, in monochrome
Screens
Getting money in
Understanding the month
Compact breakpoint
How it was made
I designed and built it with AI. Every money rule lives in one shared package, and AI helps in eight places without ever writing a transaction on its own: a human tap confirms each one.
- 1
Designed
I designed light and dark as equals, on a 4px grid, with tokens generated rather than hand-edited.
- 2
Built with AI
I built it with Claude Code. One shared package holds the money rules, so web and API can't drift.
- 3
Shipped
It's live on the web, and the build stops any drift in tokens, hover or motion.
Made with: Cloudflare Workers, D1, R2 and KV, React and Vite; Claude for statement reading, suggestions and Ask.