HisaabKitaab: bill splitting that settles over UPI
A free, UPI-native expense-splitting app for India. I wrote a 22-section PRD, built it with an AI coding agent, and shipped four releases in five weeks.
2 min read
22
section PRD
4
releases in 5 weeks
16
currencies



Design mock-ups with sample data
Why I built it
Splitwise moved features behind a paywall, and it never handled the part Indians care about most, which is paying each other back over UPI. I wanted a free app where working out who owes whom and settling up happen in the same place.
My role
- Wrote a 22-section PRD covering personas, success metrics, scope, user flows, data model, API contracts, the UPI integration design, security, release phases, risks and a handoff checklist for the coding agent.
- Directed an AI coding agent (Amazon Quick) that wrote the code from the PRD.
- Ran every build, type-check, database migration, deploy and release myself.
What it does
- Groups for flatmates, trips and office lunches, plus one-on-one tracking with a friend.
- Splits equally, by exact amounts, by percentage, by shares, or by item for restaurant bills, with several payers and recurring bills.
- Works out the fewest payments needed to clear a group, then lets you pay in one tap with GPay, PhonePe, Paytm or BHIM, or with a QR code.
- Sends WhatsApp reminders, handles 16 currencies for travel, works offline, sends web-push notifications, and installs to the home screen.
Product decisions
- A payment counts only when the person paid confirms it. Database triggers keep a payment pending until the payee confirms it, so one side can't settle a balance alone.
- Settling up takes as few payments as possible. The app nets each person's balance and matches the biggest debtor with the biggest creditor until everything clears, so a tangle of expenses becomes a handful of "pay X to Y" steps.
- The database enforces privacy. Membership-based row-level security means only people in a group can read it.
- Offline edits never create duplicates. Every change goes through a saved outbox and replays in order as an idempotent write when the connection returns.
Release history
| Version | Date | What shipped |
|---|---|---|
| 1.0.0 | Sep 14, 2026 | The full flow from Google sign-in to UPI settle-up, with real-time shared groups |
| 1.1.0 | Oct 4, 2026 | Installable app, dark mode, multi-currency for travel, notifications |
| 1.2.0 | Oct 8, 2026 | Itemised restaurant bills, payment confirmation, offline mode |
| 1.2.1 | Oct 19, 2026 | Production cleanup so each account loads only the groups it belongs to |