Project
Roulette

Group Expense Splitter

Log who paid for what and get the fewest transfers that settle it.

IntermediateWeb appProductivity10–20hAI-buildable 4/5no setupworth shipping

Track shared expenses across a group, then compute the minimum set of payments that settles everyone up. Anyone who has been on a trip knows the problem; the debt-simplification algorithm is a genuinely interesting graph reduction.

UI
Logic
Useful

Hosting · Free forever

Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.

Deploy it and share a link.

Core features · 7

  • Add people to a group
  • Log an expense with a payer and the people it covers
  • Uneven splits are supported, not just equal shares
  • Running balances show who owes what overall
  • A settle-up view lists the minimum transfers needed
  • Expenses can be edited and deleted with balances recalculating
  • Rounding never leaves a stray cent unaccounted for

The interesting part

  • Minimising the number of transfers, which is a real optimisation problem
  • Splitting amounts that don't divide evenly without losing a cent
  • Recalculating the whole graph efficiently on every edit

Once it works

  • Add multiple currencies with conversion
  • Add recurring shared expenses
  • Add an exportable settlement summary

Suggested stack

reacttypescripttailwindlocalstorage

Track it