Roomies Hub: clear accounts keep friendships

Roomies Hub is an app for managing the shared expenses of a flat: it splits costs, settles debts and keeps the accounts clear between flatmates. I designed and built it end to end, starting from one simple idea: in a shared flat, the problem is never the money — it’s trust.
The problem
Anyone who has shared a flat knows it: groceries, rent, the electricity bill, the weekend dinner. Someone fronts the money, another jots it down in a note, a third keeps a spreadsheet nobody else understands. By the end of the month no one is quite sure who owes whom — and that uncertainty is exactly what creates friction between people who, on top of everything, live together.
The existing tools solved the maths (dividing a number) but ignored the human side:
- Distrust. “Who changed this number?” If anyone can edit or delete an expense, the record loses all credibility.
- One-sided debts. Marking a debt as “paid” on your own, without the other person confirming, is a direct source of conflict.
- Onboarding friction. Requiring everyone to sign up before you can log anything means the tool never takes off in the group.
Design goals
- Anyone should understand their situation in three seconds: how much they owe or are owed.
- The record should be reliable and unquestionable, with no room for silent manipulation.
- No movement of money should depend on a single person’s word.
- Getting started should cost nothing: no install, no sign-up, no convincing the others.
The guiding principle
Every design decision was measured against this line. I wasn’t after a more powerful finance app, but one that removes the awkward conversation. If a feature didn’t increase trust or clarity, it didn’t belong.
Design decisions
1. Balances that always add up
Every expense is split to the cent among those involved, and the sum of all balances in the household is exactly zero at all times. This isn’t just a technical choice — it’s the foundation of trust. When the numbers always reconcile, no one suspects the system. The home screen answers the only question that matters — “where do I stand?” — without the user having to add anything up.
2. Double validation: nobody settles debts alone
The UX decision I’m proudest of. When someone records a payment to settle a debt, it doesn’t affect any balances until the other person confirms it. The payment starts as “pending”. This brings an unspoken social rule into the product — “we call it settled when we both agree” — and defuses conflict before it can start.
3. An immutable ledger
Expenses aren’t deleted: they’re voided, leaving a trace. Settlements aren’t deleted: they’re reverted. History is append-only. The user never sees “magic” or numbers that change without explanation; they see an auditable record where every correction is visible. Transparency isn’t another screen — it’s a property of the system.
4. Auto-settle: fewer transactions, fewer headaches
Instead of forcing every debtor to pay every creditor, the system calculates the minimum set of payments needed to bring the group back to zero. Four people with crossed balances can settle up in one or two moves instead of six. Fewer transactions means fewer chances for error and argument.
5. Start with zero friction
- Local mode, no account: the app works instantly, storing data on the device itself. You can try it and grasp the value before committing to anything.
- Sign in with Google when you want to sync and share a household.
- Account-less roomies: you add your flatmates as participants from minute one; they don’t need to register for you to keep the accounts. Later you can invite them and link their profile.
6. Take the mental load off everyday life
- Recurring expenses: rent and utilities generate themselves every month. Shared living has predictable costs; the app shouldn’t ask you to remember them.
- Shared pot: a common savings jar (a trip, an emergency fund) with contributions and withdrawals, accounted for separately from day-to-day expenses so it never muddies the balances.
7. “My activity”: personal clarity with privacy by design
Each person gets their own view of their economic activity — what they’ve paid, what they’re owed, their balances — and can export it to CSV or JSON. The projection is built with privacy by design: everyone sees their own movements, not a dump of everyone else’s data.
8. Light social signals
Roomie reputation lets you rate your flatmates and check the reputation accrued on your profile. It’s a social nudge that rewards good living-together behaviour without turning into a judge.
The details that make the difference
- Immediate feedback. When signing in with Google, server verification can take a moment (cold starts). A full-screen loader — with microcopy that lightens the wait — avoids the “nothing happened” feeling and the double clicks.
- Microcopy with character. Lines like “Adding cents, subtracting drama…” keep the personality without making the accounts feel less serious.
- Mobile-first. Access to your account, household settings and switching spaces straight from the header, with the household selector always within reach.
- Roles and permissions. Owner, admin, member and view-only, so each household decides who can touch what.
Stack
Although this is a product case study, the project is full-stack: modular, framework-less JavaScript bundled with Vite on the front end, and Express + Prisma + PostgreSQL with Google login on the back end. The financial domain was built as a pure, tested core (money in integer cents, exact splitting, balances that sum to zero), independent of the interface.
Learnings
- Trust is a design decision, not a screen. Double validation and the immutable ledger are invisible, but they’re the reason the group trusts the result.
- Fewer transactions, less conflict. Optimising the number of payments turned out to matter more for living together than any pretty chart.
- Onboarding friction kills social products. Letting people start without an account and add roomies without sign-up was key to the tool making sense in a real group.
Closing
Roomies Hub doesn’t try to be a personal-finance tool. It tries to solve one very specific, very human problem: living together without money getting in the way. Every decision — from balances that always reconcile to “we call it settled when we both confirm” — points the same way. Because, in the end, clear accounts keep friendships.
Try Roomies Hub
Start with zero friction, no account needed, and add your roomies instantly.