All work

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

Personal buildProduct and build ownerLive since Sep 2026
Stack

React, TypeScript, Vite, Supabase (Auth, Postgres with row-level security, Realtime, Edge Functions), Netlify

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

VersionDateWhat shipped
1.0.0Sep 14, 2026The full flow from Google sign-in to UPI settle-up, with real-time shared groups
1.1.0Oct 4, 2026Installable app, dark mode, multi-currency for travel, notifications
1.2.0Oct 8, 2026Itemised restaurant bills, payment confirmation, offline mode
1.2.1Oct 19, 2026Production cleanup so each account loads only the groups it belongs to