Budget · monthly summary

Watch this month — by category.

Six categories, monthly allocations, month-to-date spend, and a linear projection through month-end. The overspend feed at the bottom pulls any category past 100% into one place — no real spend flows through, no email fires.

6 categories · 1 monthDemo · mocked outcomes

Monthly summary

$1,057.60 spent
Demo
Total budget
$1,345.00
Spent so far
$1,057.60
Projected
$1,425.47

79%of budget·Day 23 of 31·projected to hit$1,425.47by month-end.

By category

Spending by category
Month-to-date spend with a linear projection through month-end.
6 categories
  • Dining

    112% of budget

    Spent$448.00of $400.00· projected$603.83

  • Subscriptions

    108% of budget

    Spent$102.60of $95.00· projected$138.29

  • Groceries

    85% of budget

    Spent$255.00of $300.00· projected$343.70

  • Transit

    60% of budget

    Spent$108.00of $180.00· projected$145.57

  • Utilities

    45% of budget

    Spent$99.00of $220.00· projected$133.43

  • Entertainment

    30% of budget

    Spent$45.00of $150.00· projected$60.65

Overspend alerts

2 categories are over budget
Period 2026-08-012026-08-31. Pulled inline — no email fired.
  • Dining · 112% of budgetSpent $448.00 · projected $603.83
  • Subscriptions · 108% of budgetSpent $102.60 · projected $138.29

2 alerts this period

What this demo is — and is not

  • Categories are seed. The six categories on the page are placeholder data — extend or rebalance the fixture in src/lib/budget/fixture.ts.
  • Spend is mocked.Each category's transactions array is a deterministic month-to-date seed — no real spend flows through the page.
  • Projections are local math. projectedCents = (periodSpend / daysElapsed) * totalDays is a linear projection computed once from the fixture; real product would use moving averages or ML estimates.
  • Alerts are inline. Over-budget rows render into the bottom card — no email sent, no notification pushed, no webhook fired.