Can I code this? A Split-Bill Group Expense Tool

Tracking who paid what and computing a simplified 'who owes whom' balance across a group is genuinely well-specified arithmetic — a real, achievable weekend build.

Build it
Effort: a weekendRunning cost: $0/mo to start

Why CanICodeThis says Build it

  • A group with members and logged expenses (who paid, how it's split) is a straightforward data model
  • Computing net balances per person and simplifying them into the fewest necessary payments is a well-documented graph/arithmetic problem
  • A running history of settled and unsettled expenses is ordinary CRUD

The parts that'll cause problems

  • Actually collecting the money (not just tracking who owes what) needs a real Stripe integration if you want in-app settlement
  • Multi-currency groups (splitting a trip across countries) add real exchange-rate complexity
  • Recurring shared expenses (rent split every month) need a scheduling layer on top of one-off expense logging

How I'd build this

frontendNext.js
databaseSupabase
authSupabase Auth
hostingVercel

MVP scope

  • Create a group with members
  • Log expenses with who paid and how it's split
  • Compute simplified net balances per person
  • Mark a debt as settled

Postpone to v2

  • In-app settlement via Stripe
  • Multi-currency support
  • Recurring shared expenses

What it actually costs to build

AI agent — with a subscription (Claude Pro/Max, Cursor, etc.)$0 marginal
AI agent — pay-per-use API, no subscription$43–$86 one-time
Hosting, once it's running$0/mo (free tier)
Domain name, if you want your own~$12/yr

Existing tools solving a similar problem typically run $14.99–$14.99/mo — see how they compare below.

The build prompt

Build me a group expense splitter: create a group with members, log expenses (who paid, how it's split — equal or custom), and compute simplified net balances showing who owes whom the least total number of payments. Mark debts as settled manually. Skip in-app money transfer for v1 — tracking balances is the real value; people can pay each other however they already do.

← try another idea · browse the full register