Features
Budget

Budget

The budget page is the core of the app. Navigate to it via the left sidebar or go to /budget.

Zero-Based Budgeting

Every dollar you have is assigned to a category before you spend it. The Ready to Assign number at the top of the page shows how much unassigned money you have. Your goal each month is to get that number to $0.

This is called zero-based budgeting — not because you spend everything, but because every dollar has a job (spending, saving, or investing).

The Three Columns

ColumnWhat it means
AssignedHow much you put into this category this month
ActivityActual spending (negative) and income (positive) from transactions
AvailableAssigned + rolled-over balance − spending. How much is left to spend.

Available is always computed — it's never stored directly. It reflects the current state of your transactions automatically.

Month Navigation

Use the < and > arrows at the top of the budget page to move between months. The URL updates to reflect the current month (/budget?month=YYYY-MM), so you can bookmark any month.


Budget Header

The header above the budget table answers three questions at a glance.

Ready to Assign

Your unassigned balance, color-coded:

ColorMeaning
GreenPositive balance — money available to assign
RedOver-assigned — you've assigned more than you have

The subtext reflects your goal status: "All goals funded", "3 goals need funding", "$120 short of all goals", etc.

Monthly Cost

The total of all monthly goal requirements across every category with a target. This is what it costs to fully fund your budget. Shows "—" if no goals are set.

Month at a Glance

Funded category count (e.g., "24 of 30 funded") with status lines for underfunded and overspent counts.

Spending Pace Bar

A horizontal bar shows total spending / total budgeted with a vertical marker at today's position in the month:

  • Green — spending below expected pace
  • Amber — near pace (within 15%)
  • Red — spending faster than the month is progressing

Text: "$X spent of $Y budgeted" on the left, "Z% of month elapsed" on the right.

Age of Money

Displayed in the budget header as "X days". Age of Money is a weighted-average of how old your dollars are when you spend them, calculated by FIFO-matching recent outflows against historical inflows.

  • Higher is better — a 30-day AOM means you're spending money you earned a month ago, giving you a buffer
  • Low or rising — means you're spending money almost as soon as it arrives
  • Requires at least a few weeks of cleared transaction history to calculate; shows "—" when data is insufficient

Past Overspending Callout

If overspending from previous months has reduced your Ready to Assign, an amber callout shows the amount and instructs you to assign to overspent categories to recover it.

Fund Goals Button

When unfunded goals exist, a Fund All Goals or Fund What You Can button appears. One click assigns money in priority order: soonest target-date goals first, then monthly goals. Target Balance goals are skipped (no specific monthly requirement).


Insights

Below the budget header, a collapsible Insights card surfaces contextual callouts based on your recent activity. These are plain-English observations you can act on — not generic tips.

Insights that may appear:

InsightTrigger
Spending pace warningSpending >20% faster than last month before month end
Overspend streakA category overspent 2+ months in a row
Idle Ready to AssignUnassigned balance over $500 for the current month
Age of Money milestoneAOM crosses 30 days for the first time
Low savings rate3-month average savings rate below 10%
Milestone proximityNet worth within 10% of a named milestone

Insights only appear for the current month. They disappear on their own as the underlying condition resolves.


Assigning Money

Click any cell in the Assigned column and type an amount. Press Tab to move to the next category, or Shift+Tab to go back. Changes are saved immediately.

You can also edit assignments from the Category Drawer (see below).


Category Drawer

Click anywhere on a category row to open the Category Drawer — a fixed panel that slides in from the right. It provides full context and management for that category.

Close it by clicking empty whitespace outside the table, pressing Escape, or clicking ×.

SectionWhat it does
HeaderEditable category name, emoji picker, close button
StatsAssigned (click to edit), Activity, Available
Assigned barVisual of spent vs. remaining
Spending paceCurrent month only — bar + last month comparison
GoalView status and progress, or click Edit to set/modify the goal inline
OverspendingRadio buttons to control carry-forward behavior
TransactionsAll transactions for this category this month
6-Month HistoryMini bar chart of activity
NotesFree-text notes field (auto-saves)
HideRemoves the category from the budget view

Category Groups

Categories are organized into groups. Click a group name to collapse or expand it.

Reordering

Drag categories within a group using the grip handle (⠿) that appears on hover. Drag group headers to reorder groups. Changes persist immediately.

Adding a Group or Category

  • Add Group — click + Add Group at the bottom of the budget table
  • Add Category — click + Add Category within any group

Renaming

Hover a group header or category row to reveal the menu → Rename. Press Enter to save.

Hiding and Unhiding

Select Hide from the menu or from the bottom of the category drawer. Hidden categories are removed from the budget view but transactions are preserved. To unhide, use Show hidden in the budget toolbar — hidden categories appear dimmed with an Unhide option.


Category Emoji

Click the emoji area in the category drawer header to open a curated emoji picker. The emoji appears before the category name in the budget table.


Overspending Behavior

Each category controls what happens when it goes overspent:

ModeBehavior
Reset to $0 (default)Overspending is absorbed by Ready to Assign. The category starts fresh next month.
Carry forwardThe negative balance rolls into next month. Good for credit card payment categories.

Change this in the Overspending section of the category drawer. Credit card payment categories default to Carry forward automatically.


Quick Budget Menu

Each category row has a button (visible on hover):

OptionWhat it does
Same as last monthCopies last month's assigned amount
3-month averageSets the average of the past 3 months
Fill to goalAssigns the exact amount needed to meet the goal
Set to $0Zeroes the assignment

Budget Tools Menu

The toolbar above the budget table contains bulk actions:

ActionWhat it does
Move MoneyTransfer between categories
Copy Last MonthCopy all assignments from the previous month
Fill All to GoalsSet every category's assignment to its goal target
Reset This MonthZero all assignments for the current month
Fresh StartZero all assignments across all months (preserves transactions)

Every bulk action shows an Undo toast for 10 seconds. Fresh Start requires confirmation.


Category Search

Press / to focus the search bar. Type to filter categories by name — groups with no matches collapse automatically. Press Escape to clear.


Bill Nudge

If a category has an upcoming scheduled transaction and the available balance is less than the bill amount, an amber Bill due Nth pill appears on the row.


Spending Pace Indicators

Current month only, per category:

Pace dot — a small circle before the Available amount:

  • Green: spending below expected pace
  • Amber: near pace (±15%)
  • Red: over pace

Trend arrow — next to the Activity amount:

  • Up (red): spending more than last month (>+10%)
  • Down (green): spending less than last month (>−10%)

Hover either for a tooltip with exact percentages.


Goals

See Goals & Targets for documentation on Monthly, Target Balance, and Target Date goals, snoozing, and the Fund All Goals feature.