Retirement & Portfolio Planner

your numbers stay in this browser — nothing here is sent anywhere

Timeline

Expected return by asset class

These blend with each scenario's allocation (Holdings tab for Current, sliders below for the other three) to produce every projected return automatically — change a return here and every scenario updates.

Current allocation (from Schwab imports)

This is what you actually hold right now, computed from every account on the Holdings tab — it's what drives the "Current" scenario's blended return, right below.

Conservative allocation target

Balanced allocation target

Aggressive allocation target

Pre-retirement contributions

Starting point

Your starting balance for every projection is the total of everything entered on the Holdings tab. Add or edit holdings there — this tab only covers what gets added going forward, each year, until retirement.

Account summary

Manage accounts (rename, add, remove)

Live prices

Optional — a Cloudflare Worker fetches current (delayed) quotes for whatever you're holding, so the numbers here can move between CSV imports. See chat for the Worker code and deploy steps.

Individual holdings

Tag each holding's asset class once; the tool remembers that tag by symbol from then on. Re-importing a CSV replaces only that one account's rows — every other account is left untouched.

Drag Schwab CSV exports here, or click to browse
Drop as many at once as you like — one per account

SymbolDescriptionAccountAsset classMarket value
Grand total

Current allocation (computed)

Portfolio growth by scenario

Milestones

Show year-by-year detail