For DIYers · Hands-on financial planning

You've outgrown the retirement calculator. You want the engine.

The free web calculators skip the tax detail and hide their assumptions behind a black box. The alternative is a spreadsheet you maintain forever — where you are the one hand-updating the tax tables every January. FinPlan is the projection engine in between: real tax math — federal, all 50 states + DC, and the local layers on top — assumptions you can read and change, and answers you can show your work on. You drive it through your own assistant.

The kitComposed by your assistant
  1. Tax
  2. Projections
  3. Goals
  4. RMDs
  5. Social Security
  6. Mortgage
  7. Accounts
  8. Charts
  9. Snapshots
  10. + your data

Composable, not canned

Not our dashboard. Your analysis.

FinPlan isn't a fixed set of screens someone decided you need. It's a kit of typed tools — tax, projections, RMDs, Social Security, mortgages — that your assistant composes on the fly. You bring the question; we make sure the math underneath is correct, fast, and usable. You're never boxed into the handful of questions we thought were important.

“Can I go part-time at 55, exercise a tranche of ISOs without tripping AMT, harvest gains in the low-income years, and still have two 529s funded?”

No one designed a screen for that. Your assistant just reaches for the tools it needs and hands you a number you can show your work on. The four analyses below are exactly this — the kit, composed. Yours can be any question you can phrase.

Mathematically correct

Detailed IRS tables and impact functions, audited in code and pinned by tests — not spreadsheet formulas that silently drift out of date.

Fast

Closed-form projections by default; full Monte Carlo when path dependency or precision demands it. Same tool call — you pick the method.

Usable

Typed JSON tools your assistant calls directly — no prompt-engineering, no screen-scraping, no hallucinated numbers.

Model your actual finances

You aren't saving $500 a month.

A web form gives you one box: monthly contribution. But your money doesn't arrive that way — it's a base plus a $60k bonus every quarter, an RSU vest, a windfall. FinPlan takes the real cashflow timeline, lumps and all, and the balance changes the way it actually would.

$2k / month + $60k every quarter · projected balance median 10–90% contribution
$0 $250k $500k $750k $1M sabbatical $895k median ~$1.07M · 90th ~$751k · 10th +$60k bonus $2k today1 yr2 yr3 yr

Same closed-form engine your assistant calls, driven by a per-month CashflowTimeline — so a $60k quarter compounds from the quarter it lands, a three-month sabbatical flattens the curve right where it happens, and the band is the real return spread around it all. No single contribution box can say any of that.

The hard problems

The questions a toy calculator can't touch.

The math that actually moves your outcome lives in the corners a web form never modeled — and most of it isn't decades out. Debt versus investing, a home down payment, a stretch of lumpy income, equity comp, Roth timing. FinPlan composes the underlying tools to answer them in one conversation.

Spotlight · equity comp

ISOs, AMT, and the math after.

Model an ISO exercise with the AMT impact in the exercise year, cash needed at strike, qualifying vs disqualifying disposition outcomes, and the capital-gains math once the holding period clears. It reads like it was written by someone who has actually done one.

Explore equity tools →
ISO exercise
Strike × shares, FMV bargain element, cash required at exercise.
AMT impact
AMT in the exercise year, regular-tax delta, and credit recovery over future years.
Qualifying disposition
Long-term capital gain after 1yr from exercise, 2yr from grant.
Disqualifying disposition
Ordinary income on the bargain element, capital gain on the rest.
Tax owed vs ISO bargain element exercised · $200k income · MFJ 2026 total tax AMT premium
$0 $50k $100k $150k AMT kicks in total tax regular · $26k $0$100k$200k$300k$400k$500k ISO BARGAIN ELEMENT EXERCISED

No web calculator models AMT at all. FinPlan runs the real exemption, phaseout, and 26/28% math — so you can see the exact exercise size that first triggers it and size the exercise to the tax you're willing to pay.

  1. Would an extra $500 a month do more against the mortgage or in the brokerage?

    composes mortgage · accounts · projections
  2. Am I on track for the house down payment if I redirect this year's bonus to it?

    composes goals · accounts · projections
  3. If I take a year off, can I harvest capital gains in the low-income year?

    composes tax · accounts · projections
  4. Should I convert to Roth now, before RMDs push me into a higher bracket?

    composes tax · accounts · rmds · projections
Capital-gains rate on gains harvested in a low-income year · MFJ 2026 taxed at 0%
0% 15% 20% $58,900 at 0% then 15% $0$50k$100k$150k$200k LONG-TERM GAINS REALIZED

In a gap year, gains stack on top of ordinary income against the real 0% LTCG ceiling ($98,900 MFJ, less your $40k income). FinPlan finds the exact headroom to harvest tax-free — a lever no single-number tool exposes.

Roth conversion ladder · fill the 22% bracket each gap year · MFJ 2026 conversion base income
$0 $100k $200k $181k 2030 $176k 2031 $169k 2032 $173k 2033 $178k 2034 top of 22% bracket · $211k top of 12%

A multi-year plan, not a single year: each low-income year before RMDs, convert just enough to fill the bracket — more when your base income is low, less when it's higher. FinPlan sizes every year off the real 2026 tables.

Your data

Nothing you can't walk away with. Ever.

Your plan is never locked in a proprietary schema or a cloud you can't reach. You can leave any time with everything, keep a private history of how your plan changed, and never hand over a bank login to do it. The mechanics are deliberately boring:

The mechanicsPlain JSON

Leave any time.

Your whole financial state is one plain JSON document — the same format going in and coming out. Export it, open it in any editor, back it up however you like.

Keep a history.

It's a text file, so you can commit it to git: diff two versions, grep for an account, watch your plan change over the years.

No credentials.

FinPlan never asks for a bank login — balances are whatever you or your assistant enter, with no aggregator connection holding your credentials. Run fully local and it never touches our servers at all.

Fully local

Want our servers out of the loop entirely? Run it yourself.

Point your assistant at the local MCP server and the tools run against your own files over stdio — our servers never enter the picture. It's the same engine and the same tool calls, just executing on your machine.

A single self-contained binary — no Python toolchain, nothing to install — is on the way. Until it ships, the local MCP server is the fully-local path today.

Whose assumptions?

Don't like an assumption? Change it.

The first question a serious planner asks a calculator is "whose return assumptions?" The usual answer is a shrug behind a black box. FinPlan ships a default for every one — return, volatility, inflation, glide path — written down on /methodology so you can read it. Disagree with any of them? Pass your own and every projection re-runs against it. No fork, no spreadsheet surgery. Just a different number.

Capital market assumptions

Expected return and volatility per asset class. The defaults are published on /methodology; pass your own and every projection re-runs against them.

Inflation

One assumption drives real-vs-nominal across the whole projection. Change it once and the after-tax, goal, and RMD math all follow.

Glide paths

Age-based allocation isn't a fixed template. Set your own equity/bond glide, per account, and the portfolio math respects it.

Load a sample profile, then point it at your own numbers.