Back to battles
easyupcoming

Expense Splitter

Split expenses among a group and calculate who owes whom.

20 min limit0 participants
javascriptcssfinance
PRD
# Expense Splitter PRD

## Overview
Build an expense splitting application that tracks shared costs within a group, calculates net balances, and determines the optimal set of payments to settle all debts.

## Requirements
- Create a group by adding member names
- Add expenses with: who paid, amount, description, and date
- Split expenses equally among all members or custom amounts per person
- Calculate net balances showing who owes whom
- Minimize transactions algorithm to settle debts with fewest possible payments
- Support multiple currencies for display purposes (one base currency for calculations)
- Expense categories (food, transport, accommodation, entertainment, other)
- Running total showing how much each person has paid and owes
- Edit and delete existing expenses
- Summary view with a pie chart or bar chart showing spending breakdown by category
- Export settlement summary as copyable text
- Clear all data and start over button with confirmation
- Persist group data and expenses to localStorage
- Handle tip and tax splitting (add as separate line items or distribute proportionally)

## Tech Stack
- HTML, CSS, JavaScript (vanilla or any framework)
- Canvas or SVG for charts (no charting libraries)

## Scoring Criteria
- **Functional (40%)**: Expense tracking works, balance calculations correct, settlement minimization works
- **Quality (20%)**: Accurate math (no floating point errors in currency), clean code, handles edge cases
- **Fidelity (25%)**: All features present including charts, export, categories, tip splitting
- **Speed (15%)**: Time bonus

Battle Stats

Time Limit20 min
Participants0
Statusupcoming

Rules

  • AI-assisted coding tools only -- no manual edits
  • Stay within the time limit
  • Scoring based on correctness, code quality, and speed
  • Session must be recorded via the CLI