local-first · terminal · rust

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

Leeway forecasts what's left without tracking every transaction: use your checking balance as the truth, mark income and bills settled, and watch envelopes draw down through the month.

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

how it works

Plan once. Live the month.
Keep the thread.

Keep plans separate from real months without losing the link between them.

01Plan

Shape a month once.

A plan is a reusable template for income, bills, and envelopes, with variants for lean months or big changes.

what should this month look like?

02Month

Stamp the plan into a month.

A stamped month is an independent copy you can adjust without changing the plan or past months.

what is left right now?

03Series

Follow an item over time.

A series links an item, such as Rent or Groceries, across plans and months as its name or amount changes.

how has this changed over time?

the important boundary

A stamp is a copy, not a live link.

Plans can change without rewriting past months; only the series link carries forward to show trends.

features

Small surface. Serious forecasting.

Local-first

Your data stays in a local SQLite file with no account or cloud.

Built for the terminal

A fast, keyboard-driven Ratatui app centered on what's left.

Accounts at a glance

See checking and credit cards in one cash-flow summary.

Reusable plans

Stamp reusable plans into independent months without rewriting the past.

Envelopes that flow

Automatic envelopes release funds over time while manual envelopes track direct spending.

Series & trends

Follow items across plans and months as names and amounts change.

install

One line to install.

Install a binary for macOS, Linux, or Windows with no toolchain; the first run creates the database and opens the dashboard.

also → install from crates.io withcargo install leeway, 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