YNAB-Powered · Real-Time · Self-Hosted

Know your spending pace,
every day of the month.

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.

budget buddy — Dashboard
Budget Buddy dashboard showing spending pace status - On Track, Watch, and Over Pace indicators Category detail cards showing spent, budget, pace, projected amounts and top purchases for each budget category
🔄

Real-Time YNAB Sync

Pulls your latest budget and transactions from YNAB with delta sync. Always up to date, no manual imports.

📈

Pace Analysis

Calculates your daily spending rate and projects where you'll land at month-end. Green, yellow, or red — at a glance.

💡

Smart Classification

Automatically detects whether each category has linear or lumpy spending patterns. No more comparing apples to oranges.

🔍

Outlier Detection

Flags unusual transactions that are 2+ standard deviations from your norm. Spot the spending surprises instantly.

Everything you need to
stay on pace.

Budget Buddy turns raw YNAB data into actionable spending insights.

Core

Spending Pace Calculator

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.

Budget Dashboard status summary showing On Track, Watch, and Over Pace counts
Sync

YNAB Integration

Connects directly to the YNAB API with efficient delta sync. Categories, transactions, and budget amounts stay current without manual refreshes.

Classify

Linear vs. Lumpy

Groceries are spent daily. Insurance is paid once. Budget Buddy auto-detects the pattern (4+ transactions = linear) and adjusts projections accordingly.

Detect

Transaction Outliers

Flags transactions more than 2 standard deviations from the mean that exceed 25% of the category budget. Unusual spending surfaces automatically.

Group

Saved Category Groups

Create custom groupings like "Essentials" or "Fun Money." Load any group to see aggregate pace across multiple categories at once.

Visualize

Interactive Charts

Cumulative spending charts with daily breakdowns. Zoom into date ranges, see daily totals, and compare actual spending against the linear pace line.

Analyze

Pattern Analysis

Classifies your spending patterns as sparse, concentrated, mixed, or distributed. Understand how you spend, not just how much.

Manage

Category Controls

Enable or disable individual categories for tracking. Override automatic spending type detection. Focus on what matters to your budget.

Aggregate

Multi-Category Pace

Select any combination of categories to see their combined pace, total budget, and aggregate projected spending. Build your own spending views.

Live

Real-Time Updates

Built with Phoenix LiveView for reactive, server-rendered updates. Sync from YNAB and watch your dashboard refresh instantly — no page reloads.

A dashboard that
shows what matters.

Drill into any category to see detailed transaction history, spending charts, and outlier analysis.

budget buddy — Category Details
Category detail cards showing spent amounts, budgets, pace calculations, progress bars, and top purchases for Auto: Gasoline, Groceries, and All Discretionary
budget buddy — Pace Comparison
Pace comparison view with cumulative spending chart, multi-category selector, pace summary table, and daily spending heatmap

From YNAB to insight
in four steps.

1

Connect YNAB

Add your YNAB API token and select which budget to track. One-time setup, then it just works.

2

Sync Categories & Transactions

Budget Buddy pulls your categories and transactions via delta sync. Only new changes are fetched each time.

3

Analyze Spending Pace

For each enabled category, the pace calculator computes daily rates, projections, and status. Linear and lumpy spending are handled differently.

4

Track & Adjust

Check your dashboard daily. See which categories need attention, review outlier transactions, and adjust your spending before month-end.

Data Flow
💶
YNAB
API
🔄
Delta
Sync
🗃
PostgreSQL
Pace
Calculator
🖥
LiveView
Dashboard
YNAB stays the source of truth — Budget Buddy derives analysis from synced data.

Analytics that go
beyond the balance.

Budget Buddy doesn't just show you numbers — it tells you what they mean.

Spending Patterns

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

Outlier Detection

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

Linear vs. Lumpy

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

Spending Shape

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

Three statuses.
Instant clarity.

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.

On Track

Spending pace is at or below budget pace. You're good.

Watch

Projected to go slightly over. Time to be mindful.

Over

On pace to significantly exceed budget. Action needed.

Built with
proven tools.

Elixir

Functional, fault-tolerant language on the BEAM VM

🔥

Phoenix

Productive web framework with real-time capabilities

LiveView

Reactive server-rendered UI, no JavaScript required

🗃

PostgreSQL

Reliable relational storage with Ecto ORM

🎨

Tailwind + daisyUI

Utility-first CSS with beautiful component themes

💶

YNAB API

Official API with delta sync for efficient data fetching

6
LiveView Pages
5
Database Tables
2
Themes
21+
Timezones

Ready to track your
spending pace?

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

Also from programmingjosh.com