Skip to content
AS.

India —

Open to collaborations

← All departuresFlt 06 / [ 2026 ]

Split & Settle

Personal project · Bill splitting for friends in India, settled by UPI

Role
Solo — product, design and engineering
Year
2026
Type
Personal project
Status
Live
Links
Live app ↗Try the demo ↗GitHub ↗

01 / 09

Split & Settle: split the bill, settle in one UPI tap
A group: your balance and the expense list
Suggested payments that settle everyone
Pay sheet with a scannable UPI QR on desktop
Adding an expense split by shares
Splitwise import preview, checked against Splitwise's own totals
Split & Settle on a phone
A group on a phone
Settle up on a phone

Add what everyone paid; Split & Settle works out who owes whom to the paisa and turns it into UPI payments friends make in a tap — a QR on a laptop. Friends join with a WhatsApp link, no sign-up, and every phone updates live. It also imports a group straight from a Splitwise export.

(01)Problem

Splitting a Goa trip means a spreadsheet, a calculator and twelve 'who paid for the cab?' messages. Splitwise needs everyone to sign up, rounds to the rupee, and stops at 'you owe ₹4,655' — the actual payment still happens somewhere else.

(02)Approach

  1. 01Money in integer paise with largest-remainder rounding, so every split adds up exactly; settle-up suggestions in at most n−1 payments, stable so recording one doesn't reshuffle the rest.
  2. 02Guest sign-in with personal, single-use invite links — after debating the plan with a second AI reviewer, who caught that a shared link lets anyone claim a friend's name.
  3. 03Trust built into the database: Postgres row-level security, server functions for joining and importing, a trigger that rejects shares that don't add up, and an audit log of every change.
  4. 04Splitwise import from the official spreadsheet export rather than an API login — its terms require a commercial licence — rebuilt row by row and checked against Splitwise's own totals.

(03)What I built

  • Expo (React Native) app shipped first as an installable web app on Vercel, ready for the App Store later; Supabase with realtime sync and guest auth.
  • Equal, exact, shares and percentage splits with live validation; edit, delete and restore with author/admin permissions; activity feed.
  • Settle-up with UPI intent links (GPay, PhonePe, Paytm), a scannable QR on desktop, copy-UPI-ID fallback, and payment records anyone involved can undo.
  • Personal and group invite links with QR and WhatsApp share, admin link reset and unlinking, plus an on-device demo group for visitors.

(04)Results

rounding drift — splits checked across 2,300 randomised cases
₹0.00
live access-rule tests with four guest users against the real database
12
browser tests, incl. two friends syncing live and a Splitwise import
65
screen sizes audited for overflow and overlaps
17

(05)Stack

  • Expo SDK 57
  • React Native Web
  • TypeScript
  • Supabase (Postgres, RLS, Realtime, anonymous auth)
  • Reanimated
  • Vitest
  • Playwright
  • Vercel
Next flight · Flt 01Personal project · Trade-credit intelligence for the GulfTagMyCredit