Budget Calculator
Split household expenses evenly, with period conversions, charts, and exportable receipts.
#tooling #web #javascript #ui #personal-finance
Overview
Budget Calculator is a lightweight browser tool for roommates who want to split the bills without the drama.
Add expenses, normalize them across billing cycles (weekly/monthly/yearly) and get a clear breakdown of totals.
What I built
- A single-file JavaScript embed exposed as a custom element (
<roommate-budget-embed>) for easy reuse across pages. - Expense entry with period conversions (monthly vs weekly) and normalized totals that stay consistent across views.
- Graph visualizations to show where money goes, plus exportable receipts to share with the household.
Design goals
- Reduce conflict: Expenses are split equally by design (simple rules, fewer arguments)
- Transparency: Clear “how it's calculated” explanations so totals never feel mysterious.
- Privacy-first: Runs entirely in the browser (no accounts, no uploads, one cookie for reloading)
Current status
- Functional: Core workflow works end-to-end.
- In progress: Mobile UX + onboarding to reduce overwhelm.
- Planned: Public repo once codebase is polished and documented.
ROOMMATE BUDGET RECEIPT
Generated: 2026-02-09T7:41:34.677Z
Mode: Household
Currency: AUD
Roommates: 5
Selected display period: weekly
Rounding: None
ASSUMPTIONS (average calendar periods)
- days/year: 365.2425
- months/year: 12
- days/week: 7
- weeks/year: 52.177500
- days/month: 30.436875
- weeks/month: 4.348125
EXPENSES
(Each expense shows per-1-period rates + units + amount-for-units. Selected-period totals match the UI exactly.)
- Rent [weekly] shown: A$700.00 (89.6%) | raw: A$700.00
• Year: rate=A$36,524.25 | units=1 | amount=A$36,524.25
• Month: rate=A$3,043.69 | units=1 | amount=A$3,043.69
• Week: rate=A$700.00 | units=1 | amount=A$700.00
- Water [weekly] shown: A$8.05 (1.0%) | raw: A$8.05
• Year: rate=A$420.00 | units=1 | amount=A$420.00
• Month: rate=A$35.00 | units=2 | amount=A$70.00
• Week: rate=A$8.05 | units=1 | amount=A$8.05
- Gas [weekly] shown: A$23.00 (2.9%) | raw: A$23.00
• Year: rate=A$1,200.00 | units=1 | amount=A$1,200.00
• Month: rate=A$100.00 | units=3 | amount=A$300.00
• Week: rate=A$23.00 | units=1 | amount=A$23.00
- Electricity [weekly] shown: A$27.60 (3.5%) | raw: A$27.60
• Year: rate=A$1,440.00 | units=1 | amount=A$1,440.00
• Month: rate=A$120.00 | units=1 | amount=A$120.00
• Week: rate=A$27.60 | units=1 | amount=A$27.60
- Internet [weekly] shown: A$23.00 (2.9%) | raw: A$23.00
• Year: rate=A$1,200.00 | units=1 | amount=A$1,200.00
• Month: rate=A$100.00 | units=1 | amount=A$100.00
• Week: rate=A$23.00 | units=1 | amount=A$23.00
TOTALS (Selected period)
Household total (weekly): shown=A$781.64 | raw=A$781.64
Personal total (weekly): shown=A$156.33 | raw=A$156.33