Splitting a shared utility bill without reading anyone's inbox
Bills arrive at a forwarding address, get split per renter, and land in a ledger that survives someone moving out mid-cycle.
Studio product · In progress · Next.js · TypeScript · Neon Postgres
One meter, several renters, a spreadsheet.
A landlord gets one bill on a shared meter and is owed a share by each renter. That meant percentage maths by hand, an email per renter, and a mental note of who had paid, which breaks the moment someone underpays or moves out mid-cycle.
3 layers we worked on.
The rest of the stack was already sound, or out of scope.
Bills in by forwarding address
Each utility provider gets its own forwarding address belonging to the app, so a bill reaches Sharehold without anyone handing over mailbox access.
No mailbox permissions
The original read the landlord's Gmail. The rebuild asks for no Google permissions at all, so nobody hands a stranger their inbox over a water bill.
A ledger that carries the difference
Extracted bills wait for the landlord's review before they count, and payments record as exact, over or under, with the difference carried forward.
Sharehold
Zedd Studio
English and Persian, right-to-left throughout, and a CMS that needs no developer.