local-first · terminal · rust

A budget that answers
one question: what's left?

Leeway is a forecasting tool, not an accounting ledger. Keep your checking balance as the ground truth, toggle income and bills as they settle, and let spending envelopes draw down over the month — a low-friction budget you can trust without entering every transaction.

leeway — dashboard
Leeway — 2026-07 · day 10 of 31
Envelopes
Groceriesauto/mo████████$1,419.35 leftof $2,000.00
Diningauto/mo████████$1,206.45 leftof $1,700.00
Autoauto/mo████████$271.81 leftof $383.00
Healthcareauto/mo████████$177.42 leftof $250.00
=$1,284.10what's left
Tab panelj/k moveEnter opens spendq quit

features

Small surface. Serious forecasting.

Local-first

Everything lives in a local SQLite file with embedded migrations. Your data stays on your machine — no account, no cloud.

Built for the terminal

A fast, keyboard-driven TUI built with Ratatui. The dashboard is the daily loop, centered on "what's left".

Accounts at a glance

Checking and credit-card summaries roll into a single cash-flow picture so you always know where you stand.

Reusable plans

Build a budget plan once, then stamp it into a month as an independent snapshot. Editing the plan never rewrites the past.

Envelopes that flow

Automatic envelopes release budget over time; manual envelopes track spending you enter directly. Watch each draw down day by day.

Series & trends

Shared series identities connect "Rent" or "Groceries" across months and plans, even as labels and amounts change.

install

One line to install.

Grab a self-contained binary for macOS, Linux, or Windows — no toolchain required. On first run Leeway creates a local database, applies the schema, seeds starter data, and opens the dashboard.

also → cargo install leeway from crates.io, or download a build from GitHub Releases.

Full README ↗
~/code
# prebuilt binary — no toolchain needed
$curl -LsSf https://github.com/nathanreyes/leeway/releases/latest/download/leeway-installer.sh | sh
$leeway
Creates leeway.db, seeds starter data, opens the app.
 
# or, with a Rust toolchain
$cargo install leeway
 
# or, from source
$git clone https://github.com/nathanreyes/leeway.git && cd leeway
$cargo run