LLD Problem · Medium

Splitwise

Design Splitwise: groups of people share expenses with equal/exact/percent splits and settlements. Key requirements: - Users + groups - expense with payer, splits, and currency - pairwise balances - simplify debts within group - settle-up records - activity feed.

Start guided practice

Problem statement

Design Splitwise: groups of people share expenses with equal/exact/percent splits and settlements. Key requirements: - Users + groups - expense with payer, splits, and currency - pairwise balances - simplify debts within group - settle-up records - activity feed.

Functional requirements

  • 01.Create groups and add members
  • 02.Add expenses with split strategies
  • 03.Track per-user balances
  • 04.Suggest minimum settle-up transactions

Non-functional requirements

  • •Strong consistency on balances
  • •Audit log for every expense

Constraints & assumptions

  • ›A user can be in multiple groups
  • ›Splits must sum to total