Tally
Project

Tally

Multi-year household budgeting: plan the year, record what actually happens, and watch debt shrink and savings grow — shared with the family, or read-only for the accountant.

Next.js 16FastAPIPostgreSQLCaddy

Every household runs on a budget somewhere, and for most of them it's a spreadsheet that quietly became critical infrastructure and that nobody quite dares touch. Tally is the application built to take that job over properly: a multi-year household budget that plans the year ahead, tracks what actually happens month by month, and tells you — without you having to work it out yourself — where the money really went.

The heart of it is the gap between what you planned and what happened. Every income and expense line carries a budgeted amount and an actual one, and Tally shows the variance the moment you record it — over in red, under in green — line by line and rolled up per category, so an overspend announces itself instead of hiding in a total. Each item has a status you set as the month unfolds: pending, paid, received, skipped. "Did the salary land yet?" becomes something you can see rather than something you have to remember. And a per-month checklist surfaces the handful of things that actually need a human — the credit-card payment, the bond, the savings transfer, the municipal account — before any of them slip.

Because it runs year over year, the history compounds into something you can use. Opening balances roll forward on their own, so a new financial year starts from last year's real close rather than a hopeful guess. Loans amortise themselves: bond and vehicle balances, interest and capital split, recomputed every month, so you watch the debt genuinely come down instead of wondering. Savings track the same way, interest and all. Years of a real family's finances stop being rows you scroll past and become a record you can interrogate — what did medical cost us last winter, is the grocery bill creeping, are we ahead of where we were this time last year.

It's built to be shared. A budget belongs to an account — a household or a business — so you can invite the family to help keep it, or hand an accountant a read-only view, and switch between the home budget and a side venture without the two ever bleeding into each other. Paste in a bank or credit-card statement and it's parsed into categorised rows for you to confirm.

The stack is deliberately boring: Next.js 16 with server components, FastAPI with async SQLAlchemy over Postgres, Caddy in front. The difficulty here was never the technology — it's faithfully capturing how a real family has run its money for years, and getting the numbers right enough that they'd trust it with them.

It's the smallest project here, and in a quiet way the most personal: the software a household would actually run its money on.