Skip to content
← All projects

Ledgerly: splitting rent without the spreadsheet

Expense splitting for flatmates with real-time balances and UPI settle-up links.

Role
Solo, design to deploy
Timeline
6 weeks, 2025
Stack
Next.js, tRPC, Postgres
Users
120 households

The problem

My flat tracked shared costs in a Google Sheet. Nobody updated it, and every month ended with an awkward conversation about who owed what.

Constraints

  • Must work on cheap Android phones over slow data.
  • No app install. Flatmates would not download another app.
  • Zero hosting budget beyond free tiers.

Architecture

  1. Next.js UI
  2. tRPC API
  3. Postgres (Neon)
  4. UPI deep link

Key decisions

tRPC over REST. One developer, one codebase. End-to-end types removed a whole class of bugs and I didn't need a public API.

Store balances as a ledger, not totals. Every expense is an immutable row, and balances are computed. This made "undo" and history trivial.

Results

120households in 3 months
0.9sload on 3G
₹0monthly hosting

What I'd do differently

Add offline support from day one. Most bills get logged at the shop counter, where the signal is worst.