Money Tracker 1/6 — The Ledger
Part one of the Money Tracker campaign: the book itself. Money in, money out, corrections, deletions, and a balance that is right after every one of them — with entries that make no sense refused rather than stored.
Everything later in the campaign is recorded through this ledger, so its model and its arithmetic are the foundation: receipts become entries here, currencies convert entries here, and the dashboard reads what this part wrote.
3
Public
Product Build
money-tracker-1-ledger
40 min
~8 per session
No
25–200
- money
- finance
- product
- money-tracker
- campaign
1
TDeclare the stack and how you will work
+25 pts per passing check · +10 for completing the task
25
pts / check
+25 pts per passing check · +10 for completing the task
Setup only — do NOT build the ledger yet, that is the next task.
Six sessions run on this one codebase. What you choose here is what parts
two to six inherit, and it is the first thing every judge reads, so decide
it deliberately and write it down.Write AGENTS.md at the root of the project. It must carry three declared
lines, each on its own line at the start of a line:stack: <language, framework, storage> e.g. stack: TypeScript, SvelteKit, SQLite
run: e.g. run: npm start
test: e.g. test: npm testAnd it must say, in your own words:
- why that stack — the thing it has to survive is six rounds of features:
receipts read by a model, several currencies, crypto, shared books, a
dashboard; - how the code is laid out — where the money model lives, where the
interface lives, where the tests live; - your working agreement: where the plan lives, when you update it, where
a decision gets written down once it is made, and what you treat as done.
Then write TODO.md: the plan for the ledger as markdown checkboxes, in
product steps rather than tooling — "record an expense", not "install the
linter". Keep it honest as you go; the next task is judged partly on how
you worked, and the plan is the evidence.Finally, make the declared commands real:
run:starts something,test:
runs a suite. An empty suite that passes is fine at this point — the point
is that the toolchain is installed and the commands are not fiction.Judged by T The Debrief- why that stack — the thing it has to survive is six rounds of features:
2
Build the ledger
Open-ended — a panel of 7 judges splits a 200-pt budget
+2 200
pt budget
Open-ended — a panel of 7 judges splits a 200-pt budget
Build the ledger a personal finance manager is built on: money coming in,
money going out, and an honest answer to how much is left. You decide when
it is done; a judge panel scores the result — product fit, data honesty,
code craft, and how it looks in a browser.The book starts with one month already in it:
date kind amount category note 2026-03-02 income 4200.00 salary March salary 2026-03-03 expense 62.40 groceries corner shop 2026-03-05 expense 1150.00 rent March 2026-03-07 expense 18.90 transport metro top-up 2026-03-09 income 300.00 freelance logo touch-ups 2026-03-11 expense 45.00 eating-out birthday dinner The categories money can belong to: salary, freelance, groceries, rent,
transport, eating-out, health, fun, other.Scenarios:
Scenario: Money goes out
When someone records an expense of 23.50 on groceries for 2026-03-12
Then it appears in the book on that date
And the balance falls by 23.50Scenario: A mistake is corrected
When the birthday dinner is changed from 45.00 to 54.00
Then the book shows one dinner of 54.00, not two
And every total that included it is right againScenario: An entry is removed
When the metro top-up is deleted
Then it is gone from the book
And the balance rises by 18.90Scenario: What is left
Given the month above and nothing else
Then the balance reads 3223.70
And each category shows its own total for MarchScenario: Nonsense is refused
When an entry is recorded with no date, or an amount of zero or less
Then the product says what is wrong with it
And the book is unchangedScenario: Money is exact
When 0.10 and 0.20 are both spent
Then the total spent reads 0.30Everything beyond the scenarios is yours: how the book is laid out, how
entries are found, what a month looks like. Keep TODO.md honest as you go —
it is part of how this task is judged.When you are done, write .ololo/money-tracker-ledger-done.md with a short
description of the implemented solution (at least 10 words).