All BlueprintsFintech

Budget and spending tracker

A budget for one person, kept honestly a month at a time. Spending lands in categories, every figure on the screen is the sum of the entries behind it, and a month ends: it closes, it stops moving, and what is left over or overspent follows the person into the next one by a rule they can read.

L2–L4Level range
8Sprints
39Tasks
Backend and frontendBuilt as

What you’ll build.

By the last sprint

A budgeting app. People set a budget for a month that starts on whichever day they choose, record what they spend against a category, and close the month to carry the rest into the next one. They are warned while there is still time to act, and the month turns over on its own.

What you’ll learn.

Each sprint is built around one skill. You show you have it in a pull request your team reviews, then explain it in a walkthrough.

Authentication

You can register and sign in a user, keep a request authenticated without asking for the password again, and explain where the credential lives in the browser and why there rather than somewhere else.

A ledger you can trust

You can record credits and debits and produce a balance that is the sum of them — and explain why the balance is not a column you update, and what happens when two movements land at once.

Statements that reconcile

You can generate a statement for a date range that adds up, downloads, and returns the same figures when it is generated again next month.

Notifications people do not mute

You can notify a user when an event concerns them, show an unread count that survives a refresh, and honour a preference that says stop.

Background jobs

You can hand work to a worker, tell the user it is in progress, and show the result when it lands — and say what happens to that work if the process dies halfway.

Email verification

You can issue a verification link, activate the account when it is followed, and explain what the link contains and why it cannot simply be a user id.

Going live

Somebody who has never met you can open a URL and use the product — and you can say what is different about the copy running there, where its secrets come from, and what you do when a release turns out to be wrong.

The roadmap. 8 sprints, 39 tasks.

Every sprint has a goal and a set of tasks. Open a sprint to see the tasks you will pick up.

Sprint 01

Getting in

Somebody can make an account, come back to it, and leave it on a machine that is not theirs.

4 tasks
  1. Somebody can register and land signed in
  2. Signing back in survives a closed laptop
  3. Signing out leaves nothing behind on a shared machine
  4. What one account records is reachable by nobody else
Sprint 02

What went out

Every pound that moves is recorded against a category, and every figure on the screen is the sum of what was recorded.

5 tasks
  1. Somebody can record what they spent and see it in a list
  2. Spending goes into categories the person chose
  3. A mistake can be corrected without losing what was there
  4. Every total is the sum of the entries behind it
  5. Money that comes back is recorded, not deleted
Sprint 03

The shape of a month

A budget belongs to a period that starts on the day the person chose, and what is left is worked out from the transactions inside it.

5 tasks
  1. Somebody sets a budget, and says which day their month starts
  2. The current period shows what is left, and what it is made of
  3. A transaction lands in the period its date falls in
  4. Money already spoken for is shown apart from money spent
  5. Changing a budget mid-period says what it means
Sprint 04

Closing the books

A month closes, stops moving, and hands what is left over or overspent to the next one by a rule the person can read.

5 tasks
  1. A person can close a month, and it stops moving
  2. What is left over, or overspent, arrives in the next month by a stated rule
  3. A receipt from a closed month is not silently swallowed
  4. Renaming or merging a category leaves closed months as they were
  5. Finished months are a shelf somebody can look along
Sprint 05

Told in time

Somebody is warned while there is still enough month left to act, once per thing rather than once per transaction.

5 tasks
  1. A warning arrives when a category is close to its limit
  2. Eight receipts in one sitting produce one warning, not eight
  3. A warning says how much month is left, not just how much money
  4. A person decides what they are warned about
  5. A month that has ended comes with a note on how it went
Sprint 06

The day it turns over

The month closes, carries and warns on its own on the reset day, exactly once, and somebody finds out when it does not.

5 tasks
  1. The month turns over on its reset day with nobody pressing anything
  2. Running the turnover twice does not carry the money twice
  3. Warnings go out without anybody using the product
  4. A turnover that fails says so, and can be run again safely
  5. A close that happens late still closes the right days
Sprint 07

An address that is theirs

The address the product sends to belongs to the person who typed it.

5 tasks
  1. A new account is asked to confirm its address
  2. The confirmation link works once, and not forever
  3. Nothing is sent to an address nobody has confirmed
  4. Somebody who never got the email can ask for another
  5. A mistyped address can be corrected, and must be proved again
Sprint 08

Out in the world

Somebody who has never met the developer can use it at its own address, and the month still turns over when the laptop is shut.

5 tasks
  1. The product answers at an address somebody can type
  2. Nothing secret is in the repository
  3. A new version does not lose anybody's months
  4. The month turns over where the product runs, and keeps the right time
  5. A stranger arriving at the address knows what it is

Read before you build. The best engineers do.

Senior engineers read the docs before they touch the code. Every Blueprint comes with short documents on the product and its world, the kind a team hands a new hire. Read them well and you ask sharper questions and walk into every review prepared.

What you are building

The product, who it is for, and why the edge of a month is the whole job.

How a budget actually works

Domain you will not have: periods, reset days, envelopes, and the difference between money spent and money committed.

Build budget and spending tracker.

Start your free week. Adaeze runs your kickoff, and Lars reviews every pull request.