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.
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