Skip to the case study
Maxsash Studio

Case study 05 / Household Hub

Less to remember.

Rent, tenants and household spending in one place, with reminders sent over WhatsApp and handwritten expense slips read into entries you review.

Runs a family's rent and spending; its users include a grandmother.

For
Everyday operations
Role
Solo engineer
When
May – October 2026
Built with
Next.js · Supabase · PostgreSQL
Reading
3 min
Try the public demo ↗
05 / Household insightsPublic demo · 2026
Household Hub public demo in light theme: expense Insights with upcoming household needs.
Invented household data. The private family app stays private.

The brief

My family runs a rental property and a household, and both ran on spreadsheets, paper and memory. Rent increases had to be remembered and applied by hand, reminders went out one tenant at a time, and household spending was written on paper in running lists that nobody ever typed up.

The people who use it are relatives, including a grandmother who is not technical. A login screen would have been the end of it.

What I built

One app with two halves. The tenant side shows who has paid, who is late and who is pending, works out each month's rent from the tenant's terms, and sends reminders over WhatsApp. The expense side turns a photograph of a handwritten list into entries to review, and rolls spending into monthly summaries and insights.

The public demo runs the same code on an invented household, rebuilt every night, with both PINs printed on every page so you can try everything.

The decisions that mattered

Shared PINs, enforced on the server

Instead of accounts there are two shared PINs: one to see private details, one to change things. Both are checked on the server, not just hidden on screen. Without a PIN the app still opens and shows the totals, leaving out phone numbers, deposits and bank details. Changing the admin PIN signs out every session at once.

Rent that remembers its own increases

Each month's rent is calculated from the tenant's terms and the dates of scheduled increases, so a raise takes effect on its own instead of when someone remembers.

Reminders in a tap

Reminders and greetings go to every tenant at once through a small WhatsApp service kept apart from the app, so if it fails, two buttons show an error and nothing else breaks. When that service is off, a phone works too: tap a tenant and WhatsApp opens with the message already written.

Paper slips, read by a model, checked by a person

Spending is written in Hinglish, with day-first dates and several days to a page. A vision model reads the photograph into draft rows, using the household's own list of items so the names match, and it is told the date convention, so 3.7.26 means the third of July. Nothing is saved until a person reviews the rows: uncertain readings are flagged, and the slip's written total is checked against the lines. Typing an entry by hand stays quick for anyone who prefers it.

Insights for the next decision

The point of recording rent and spending is to make the next decision easier, not to produce a chart for its own sake. The insights page turns the reviewed entries into practical monthly summaries and upcoming household needs. It carries over the same question-first approach I used in the business operations platform: show what is useful to act on, rather than make analytics an extra layer over data entry.

Designed for the people who use it

The people using the app have very different comfort with software. I iterated on the wording, iconography, colour and flow until everyday tasks were easy to recognise and complete. The goal is not to make someone learn a system; it is to let them run the household without the system getting in the way.

Tested where mistakes are expensive

The rent calculations, access rules and summaries are covered by 61 test files, because a mistake in that logic would otherwise surface only at the end of the month.

The outcome

The family runs its rent and household spending on it. The public demo shows all of it with invented data, and a guide on each screen points out what to look at.

Open to freelance work

Something
to build?

Write with the idea, who it is for and when you would like it live. A few lines are enough to start.

What to expect

  1. 01

    Plan

    Who it is for, what the first version must do and what can wait. Advice on what will work for your business, not what looks fancy or costs too much. A short plan before any code.

  2. 02

    Build

    The screens, the backend and the database, built together so they fit, and shown to you as they take shape.

  3. 03

    Launch

    Deployed on your domain and handed over with everything you need to own it: the code, the accounts, and how to run it.

Backend or real-time work on its own is welcome too: APIs, event-driven systems, a database that has slowed down.