All BlueprintsFintech
Shared expense splitter
A group logs what each person paid, the app works out who owes whom, and settling up clears it. No money moves through the product: it keeps the record, and the record has to balance to the penny for every split, correction and settlement the group throws at it.
What you’ll build.
An app for splitting costs with other people. Start a group, invite everybody in it, add an expense, and see at once who owes whom. Split a bill the way it was really split, fix a mistake weeks later without the numbers going wrong, and settle up in the fewest payments that clear the group.
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.
Roles and permissions
You can give users different roles and have the server refuse what a role may not do — not merely hide the button — and show the refusal working against a request the interface never offered.
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.
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, 38 tasks.
Every sprint has a goal and a set of tasks. Open a sprint to see the tasks you will pick up.
Getting in
Somebody can make an account, come back to it, and be recognised by the name their friends use.
4 tasks
- Somebody can register and land signed in
- Coming back next week does not mean starting again
- Signing out leaves nothing behind on a shared machine
- Everybody appears by the name their friends use
A group of people
Somebody can start a group, put the people in it, and nobody outside it can see a thing.
4 tasks
- Somebody can start a group and say who is in it
- A group is invisible to everybody who is not in it
- A member of a group can be somebody with no account
- A group with nothing in it says what to do next
What one person paid
One person pays for the group, everybody else owes their share, and the group adds up to nothing.
5 tasks
- Somebody can log what they paid for the group
- Every member sees what they owe and what they are owed
- £10 between three people leaves nobody a penny short
- The positions in a group always add up to nothing
- A hundred expenses still add up the way a person adds them up
Splits that match what happened
A bill can be split by share or by exact amount, between some of the group, and it still adds up to nothing.
5 tasks
- A bill can be split by share rather than equally
- A bill can be split by exact amounts, and the amounts must add up
- An expense can be shared by some of the group, not all of it
- Somebody can pay for something they are not part of
- Any expense can be opened to see exactly who was charged what
Settling up
A payment between two people clears what is between them, and the group can settle in the fewest payments.
5 tasks
- Recording a payment between two people clears what is between them
- The product says the fewest payments that settle everybody
- The same payment recorded twice does not count twice
- A part payment leaves the rest outstanding
- The product is clear that it records payments rather than making them
Nothing is deleted
An expense can be corrected or removed weeks later, and every number still explains itself.
5 tasks
- An expense can be corrected after forty more have landed on top of it
- A removed expense leaves a trace, not a hole
- Every figure opens into what made it
- Somebody can leave a group while they still owe money
- Correcting an expense does not quietly undo a settlement
The people are real
The people in a group own the addresses they were invited at, and whoever joins inherits what is already recorded against them.
5 tasks
- A member who has no account can be invited by email
- An invitation cannot be guessed, reused or passed on
- Accepting an invitation inherits the history already recorded
- An account proves its address before it takes part in any money
- Inviting somebody who is already in the group does not create a second them
Put it where people are
The group can use it on the internet, and the record survives losing the machine it runs on.
5 tasks
- A stranger can reach it and use it while your machine is off
- Invitations and confirmations arrive in a real inbox
- Nothing the running product needs lives in the repository
- It has an address worth typing, over a connection nobody is warned about
- A bad release can be undone, and the record survives losing the machine
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, what finished means, and why the arithmetic is the whole job.
A ledger that balances
Movements instead of balances, why every entry sums to zero, and the invariant test that fails the day you get it wrong.
More fintech Blueprints.
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.
Freelance invoicing
Invoicing for one freelancer: build an invoice whose total survives being added up by hand, send it to a client who never signs in, settle it with the money that actually arrived, and correct a mistake without quietly rewriting a document somebody has already acted on.
Contribution circle
A savings circle run properly: a fixed group pays in a fixed amount every round, one member takes the pot, and the order, the arrears and the settlements are all on a book any member can check. No payment provider stands between the members and their money.
Build shared expense splitter.
Start your free week. Adaeze runs your kickoff, and Lars reviews every pull request.