A household's money, year by year. Enter who you are, what you own and what you want to spend; Pathways searches about a thousand plans, tests the best against 2,000 market histories and tells you, in plain sentences, what to do and why:
- when to start CPP and Old Age Security
- which account to draw from each year, and how fast to empty the RRSP
- how to save while you're working (TFSA or RRSP first)
- how much you can spend, how much tax you'll pay over a lifetime, and what's left
It works at any age: for a 30-year-old it is a savings plan, for a 60-year-old a draw-down plan. A Mac app, about 10 MB. Nothing leaves your computer.
A planning tool, not advice. Rules: Canada (federal) and British Columbia, 2026.
| Part | What it does |
|---|---|
rules/ca-bc-2026.toml |
The rulebook: brackets, credits, CPP, OAS, RRIF minimums, account limits. Every value names the official page it was read from; values not re-confirmed are marked check. A new tax year is a new file, not new code. |
crates/engine (Rust) |
tax (one person, one year), sim (one household, one policy, one market path), plan (search, test, explain), returns (history resampled five years at a time). |
crates/bridge |
One door between the interface and the engine. |
crates/cli |
pathways plan in a terminal; pathways serve runs the interface in a browser for development. |
app/ |
The desktop app (Tauri): ui/ is plain HTML, CSS and JavaScript with hand-drawn SVG charts. |
A plan is a policy, a handful of decisions small enough to read aloud: CPP and OAS start ages, a taxable-income level to draw the RRSP up to each year, the order of the other accounts, and how to save. The planner tries 1,080 of them on a few histories, then runs the best eight (and the usual rule of thumb) through all 2,000. The whole search takes about a third of a second.
No language model does the arithmetic, or anything else here: the inputs are a short form, because a misread number would quietly produce a wrong plan.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Rust, once
cargo test --release # the engine against hand-worked tax examples
cargo run --release -p pathways-cli -- plan # a plan in the terminal
tools/build_app.sh # Pathways.app into ~/Applications- Provinces other than B.C.; the Guaranteed Income Supplement; pension bridges.
- Dividends: the taxable account's yearly payout is taxed as interest, which overstates the tax a little.
- Mortality: both people are assumed to live to the planning age.
- The future: today's rules and thresholds are held constant in real terms.
- Markets: United States stock and bond history, 1928 to 2025 (Aswath Damodaran's public tables), less two points a year on stocks and fund fees. A Canadian portfolio differs.
All in rules/ca-bc-2026.toml and on the app's Rulebook page: CRA tax rates and the T4127
payroll formulas, the TD1 and TD1BC forms, the CRA limits table, Canada.ca's CPP and OAS
pages, the CRA RRIF factor chart, and the B.C. government's rate table. Read 2026-11-09.
MIT licensed.
