Budget Buddy connects to YNAB and projects where you'll land at month-end. Track spending velocity, catch outliers, and stay on pace — with a real-time LiveView dashboard.
Pulls your latest budget and transactions from YNAB with delta sync. Always up to date, no manual imports.
Calculates your daily spending rate and projects where you'll land at month-end. Green, yellow, or red — at a glance.
Automatically detects whether each category has linear or lumpy spending patterns. No more comparing apples to oranges.
Flags unusual transactions that are 2+ standard deviations from your norm. Spot the spending surprises instantly.
Budget Buddy turns raw YNAB data into actionable spending insights.
The heart of Budget Buddy. For each category, it tracks days elapsed vs. days remaining, computes your daily burn rate, and projects end-of-month spending. Status indicators tell you instantly: On Track, Watch, or Over.
Each category card shows your current pace vs. required pace, a progress bar tracking budget usage, spending type classification (linear or lumpy), and your top purchases — all updating in real time via LiveView.
Connects directly to the YNAB API with efficient delta sync. Categories, transactions, and budget amounts stay current without manual refreshes.
Groceries are spent daily. Insurance is paid once. Budget Buddy auto-detects the pattern (4+ transactions = linear) and adjusts projections accordingly.
Flags transactions more than 2 standard deviations from the mean that exceed 25% of the category budget. Unusual spending surfaces automatically.
Create custom groupings like "Essentials" or "Fun Money." Load any group to see aggregate pace across multiple categories at once.
Cumulative spending charts with daily breakdowns. Zoom into date ranges, see daily totals, and compare actual spending against the linear pace line.
Classifies your spending patterns as sparse, concentrated, mixed, or distributed. Understand how you spend, not just how much.
Enable or disable individual categories for tracking. Override automatic spending type detection. Focus on what matters to your budget.
Select any combination of categories to see their combined pace, total budget, and aggregate projected spending. Build your own spending views.
Built with Phoenix LiveView for reactive, server-rendered updates. Sync from YNAB and watch your dashboard refresh instantly — no page reloads.
Drill into any category to see detailed transaction history, spending charts, and outlier analysis.
Add your YNAB API token and select which budget to track. One-time setup, then it just works.
Budget Buddy pulls your categories and transactions via delta sync. Only new changes are fetched each time.
For each enabled category, the pace calculator computes daily rates, projections, and status. Linear and lumpy spending are handled differently.
Check your dashboard daily. See which categories need attention, review outlier transactions, and adjust your spending before month-end.
Budget Buddy doesn't just show you numbers — it tells you what they mean.
Each category is classified by how spending is distributed across the month.
Distributed Even spread, consistent daily spending Concentrated Most spending in a few large transactions Sparse Few transactions with long gaps between Mixed Combination of small regular + large one-offs
Transactions flagged when they exceed both statistical and budget thresholds.
# Detection criteria Statistical: > 2 standard deviations from mean Budget: > 25% of category budget Both: Must meet BOTH thresholds ● OUTLIER Feb 12 — Best Buy — $487.23 Category "Shopping" avg is $38.50
The pace calculator adapts to how you actually spend in each category.
LINEAR (4+ transactions/month) Groceries, Gas, Dining Out → Daily rate projection, pace line comparison LUMPY (<4 transactions/month) Insurance, Subscriptions, Auto Repair → Actual spend only, no pace projection
Each category is tagged with a spending shape based on transaction count and distribution.
Many small 41 transactions · avg $24.50 Lots of small, regular purchases Mixed 10 transactions · avg $132.47 Blend of large and small purchases Few big purchases 5 transactions · avg $39.63 Spending concentrated in a few transactions
Budget Buddy reduces complex pace calculations to a simple signal. Spend percentage vs. time percentage determines your status — no mental math required.
The thresholds are tuned so you get early warnings while there's still time to adjust, not after it's too late.
Spending pace is at or below budget pace. You're good.
Projected to go slightly over. Time to be mindful.
On pace to significantly exceed budget. Action needed.
Functional, fault-tolerant language on the BEAM VM
Productive web framework with real-time capabilities
Reactive server-rendered UI, no JavaScript required
Reliable relational storage with Ecto ORM
Utility-first CSS with beautiful component themes
Official API with delta sync for efficient data fetching
Budget Buddy is open source and self-hosted. Clone the repo, connect YNAB, and start tracking.
# Clone and setup $ git clone https://github.com/cochranjd/budget_buddy.git $ cd budget_buddy && mix setup # Configure your YNAB API token $ cp .env.example .env $ $EDITOR .env # Start the server $ mix phx.server