FEAsible

Engineered Finance

Plan

Your plan

Household

Accounts

Investment strategy

Income

Expenses

One-time events

Insurance

Assumptions

Last run

No run yet

About FEAsible

How FEAsible works, what it assumes, and the terms of use.

Disclaimer & Terms

·

Assumptions & Limitations

·

Changelog

Disclaimer & Terms

FEAsible is an educational and illustrative planning tool. It is not financial, tax, legal, accounting, or investment advice, and using it does not create an advisory or fiduciary relationship. It is not a recommendation to buy, sell, or hold any security or to adopt any strategy.

All outputs are hypothetical projections generated by Monte Carlo simulation from the assumptions you enter. They model many possible futures and report probabilities; they are not predictions and are not a guarantee of future results. A “confidence” figure is the share of simulated scenarios that succeed under your inputs — not the likelihood that your real-world plan will succeed.

Every effort has been made to root the calculations in current U.S. tax law and accepted financial principles. Even so, tax law changes, our interpretation may differ from your situation, and not every edge case, input combination, or interaction has been modeled or tested. The tool is provided “as is,” without warranties of any kind, and to the fullest extent permitted by law Engineered Finance accepts no liability for decisions made in reliance on it.

Always verify anything you intend to rely on, and consult a qualified financial, tax, or legal professional before making decisions.

Your data. FEAsible has no accounts and no login — while you edit, your plan lives only in your browser. To run a simulation, your plan inputs are sent to our calculation engine, used solely to compute that result, and are not written to a database or saved on the server. Saving and loading happen through files you download and keep. We count anonymous daily visits (no cookies, no personal data, and none of your plan data) to gauge usage — nothing more.

Assumptions & Limitations

To keep results understandable, FEAsible makes simplifying assumptions. Knowing where the model is thin helps you read the output well.

  • Taxes (U.S.). Models federal income tax, RMDs, Social Security taxation, and Medicare/IRMAA surcharges as a strong approximation of current law. State income tax is optional and off by default — enable it and set your rate on the Assumptions page. Filing status is set automatically from your household (single or married filing jointly); after a spouse's death it stays joint for that year, then becomes single. Not every credit, phase-out, local tax, or future law change is captured — this is not tax-prep software.
  • Markets. By default, returns come from a correlated multi-asset model using normal (bell-curve) distributions, which can understate how often extreme “fat-tail” crashes and booms happen. To counter that, you can replay the actual 1928–2025 record (in sequence or resampled) on the Investment Strategy page — and the stress test reports the spread across models so you aren't relying on any single one. Allocation can be a fixed mix, a per-account mix, or an age-based glide path.
  • Inflation. Drawn jointly with market returns — so inflation and returns move together the way they historically have (weak real returns alongside high inflation), rather than independently — around a long-run average. The default model varies year to year but doesn't string together a sustained high-inflation regime; switch to a historical model to replay real episodes like the 1970s stagflation.
  • Social Security estimate. The “estimate from income” helper is a simplified approximation using the 2026 benefit formula; it can run a few percent high for very high earners. Prefer your actual benefit estimate from ssa.gov when you have it.
  • Projections are probabilistic. Results summarize thousands of simulated paths. Individual figures (success rate, ending wealth, goal funding) are statistics across those paths, not a forecast of your specific outcome.
  • Current as of 2026. Tax brackets, contribution limits, and Social Security parameters reflect 2026 figures as we understand them and are reviewed periodically.

Changelog

1.3.0b3

September 2026 · a faster Roth conversion search that explains itself

App

  • Your Roth conversion schedule now explains itself. A sentence for each stretch of retirement says what the plan does in those years, and each year shows the tax rate a converted dollar pays now beside the rate it would pay if left until later.
  • If leftover income is set to “Discard surplus”, the conversion results now warn you. That setting makes the tax on conversions in required-withdrawal years look free, and one click switches you to “Bank from retirement”.
  • Conversion ladders you locked before this release show as out of date. The calculations behind them changed, not your plan, so run the search again to refresh them.
  • A schedule you adopt no longer reports itself out of date the moment you adopt it. If you had set a limit on the search — a tax bracket to stay within, or avoiding a higher Medicare premium — your answer asked you to run it again for a plan you had not changed.
  • An annuity or long-term-care policy you already own can now be entered on Insurance as one you own: its value today, and for an after-tax annuity the amount paid into it, with nothing bought. If it sits in an IRA you don't have in the plan yet, one click adds an empty one.
  • Health insurance on the Insurance page is one plain question: have you included it in your expenses, or should the plan estimate it? Estimating starts simple — a national average price with your state's subsidy rules — and Detailed takes your own figures, with links to look them up. The local price adjustment is gone; on your own area's price it counted local costs twice.
  • The downloadable report no longer says a plan succeeds 100% of the time. The screen always stopped at 99.9% — no number of simulated futures makes a plan certain — and the report, the stress test and a few smaller readouts now say the same.
  • When a plan won't run because of an annuity dated before today, the message now points at Insurance. It used to send you to Income to fix an owner that was never missing.

Engine & model

  • The Roth conversion search has been replaced. It now works up through each year’s tax brackets and Medicare surcharge thresholds in order of cost, and finishes in seconds to about a minute instead of several minutes on larger plans. Every recommendation will change; on every plan we tested, the after-tax result moved by less than 1%.
  • Schedules no longer convert in the plan’s last two years. A conversion there raises Medicare premiums after the plan ends, a cost that was never counted, so those late conversions looked better than they were.
  • A deferred annuity you already own is modeled as the contract it is. Entered as income before, its value was missing from what you leave behind and — inside an IRA — from your required minimum distributions, which made the plan look better than it was.

1.3.0b2

September 2026 · the beta-feedback release

App

  • Health cover before Medicare is its own panel now rather than five settings floating on the page, with the label and the box you type in beside each other instead of a thousand pixels apart.
  • Quick setup asks “max out my workplace plan” and “max out my IRA” once each, not once per tax side. A 401(k)’s pre-tax and Roth halves share one IRS limit and so do your two IRAs, so it now asks how to split that one limit and shows each side’s share. Before this it offered two switches for one limit: ticking them split your 401(k) 50/50 whether you wanted that or not, and on IRAs it funded twice the legal cap.
  • An HSA can be told to max out, the same as a 401(k) or an IRA. Picking self-only or family coverage now changes a figure you can see — $4,400 or $8,750 this year, $1,000 more from 55. The question was there before and nothing was done with the answer.
  • Spending shows every goal year by year: what it asked for, what it got, and what it went short by. A goal funded at 41% over its life used to be a single percentage; now you can see which years paid and which did not.
  • An annuity described as “qualified” no longer claims to be pre-tax. Held inside a Roth it pays out tax-free, and the funding account you pick is what decides that — so the field says so, and the longevity-contract option only appears where it can actually apply.
  • If you enter an annuity you already own, the plan says so where you type the age instead of refusing the run two pages later — and is honest that a contract still deferring is not something it models fully yet.
  • Setup’s buttons and switches are the same ones the rest of the app uses. They had drifted into a second set that looked similar but not the same, and the step bar showed a ninth step that did not exist.

Engine & model

  • The subsidy for cover before Medicare is now estimated the way you would estimate it — on the income you expect this year, not what you earned last year. Retiring mid-plan used to price the first year against a full salary, advance nothing, and settle the whole credit in December: one tester saw -$28,000 of income tax and a -37% tax rate for a single year.
  • The Roth conversion search was rebuilt and is now the default. It prices each year against what a pre-tax dollar held that year would cost later, starts from several schedules rather than one, and measures bracket room the way the tax works — capital gains stack above the ordinary brackets and were being counted inside them, which quietly pushed every bracket target low. On one plan a 22% ceiling had been falling back to 12% fills.
  • After you lock a conversion ladder, the results page stops advising you to run one.

1.3.0b1

September 2026 · what you were asked, what it built, and what it costs

App

  • Quick setup no longer leaves anything on a number you never saw. It asks what you expect to spend in a normal retirement year — one figure, not a decomposition — and shows the must-fund and flexible halves it splits that into, right under the box. It used to ask only for the floor and quietly add $2,000 a month of its own on top, so the review screen understated the plan it was about to build by $24,000 a year.
  • Your risk answer now does something. “Cautious”, “Balanced” and “Aggressive” set your starting stock and bond mix — 40, 60 or 80% in stocks — and the review screen names the mix it built. The question was there before and nothing read the answer: every plan started at 60/40 whichever card you picked.
  • Quick setup asks about income that isn’t Social Security — a pension, rent, an annuity — one for each person, with the one question that decides what a pension is worth in twenty years: whether it rises with inflation. Most private pensions and fixed annuities don’t, and the same cheque buys about half as much after 25 years.
  • If you retire before 65, it asks what health insurance will cost until Medicare and adds it as a must-fund goal, tied to your retirement rather than a fixed date — push retirement back and the cost shortens with it. For an early exit it is often the largest single line in the plan, and nothing used to raise it.
  • That cost can now be worked out for you instead of estimated. Turn on health premiums under Insurance and the plan prices each year against the subsidy you qualify for at the income you’ll actually have — which for someone retired and living off savings is often far larger than they expect. Your health goal steps aside when you turn it on and comes back if you turn it off: leaving both in would pay for the same coverage twice.
  • Medicare from 65 is included with it, and now says what it costs — $237.40 a month per person, Part B plus an average drug plan — with a Medigap policy you can choose to add. Higher-income surcharges are worked out year by year rather than quoted as one figure, because they follow what you earned two years earlier.
  • Spending now says what that coverage cost — the most it takes in any one year, and the stretch before Medicare where it is dearest. It is part of the spending already shown, not an extra charge on top. Before this the plan simply got worse when you switched premiums on, with no figure anywhere to say by how much.
  • Health costs now rise faster than everything else, which is what they have historically done — by 1.5 points a year above general inflation, which you can change under Assumptions. It applies to insurance premiums before and after 65 and to any healthcare goal you have set. On a plan retiring at 58 it raises the lifetime cost of cover by about a third, so a plan you saved earlier will look more expensive than it did — that is the correction, not a new cost.
  • You can mark a qualified annuity as a longevity contract (a QLAC). That is the one kind whose value is left out of your required minimum distributions while it is still deferring, which can lower the tax you pay in your 70s. It has to be designated as one when you buy it, so the plan asks rather than assuming — and checks it against the conditions, telling you on the answer page if it does not meet them rather than refusing to run.
  • Each person gets their own planning horizon. One horizon covered both partners, so a couple ten years apart had the younger one’s plan cut short by ten years without being told.
  • The last screen now says what quick setup did NOT ask about — goals and one-off costs, one-time events, insurance, taxes and fees — each linked to the page that owns it, plus the one there is no page for: this tool models your portfolio, not a house or a mortgage.
  • The app no longer opens on a plan you didn’t make. It used to start you on a stand-in household — someone aged 55 earning $10,000 a month with a $350,000 retirement account — which looked exactly like a plan and was nobody’s. You start from quick setup or from a file you saved, and Your plan says 0 of 3 until you’ve told it something.
  • Nothing will run on a plan that has nobody in it, no accounts, or nothing to spend. Each of those used to produce a real-looking projection — the last one a flawless success rate, because surviving costs nothing when you spend nothing. The answer page now says which of them it is, and links to the page that fixes that one rather than always pointing at Accounts.
  • Your answer is one page whatever you’re solving for, with the same shape each time: the parts that change with your goal sit in fixed slots, so a goal with fewer levers gives you a shorter read rather than a page padded out to look busy.
  • Fixed: the retirement-timing answer called a plan unreachable when it wasn’t. Asked for the earliest age that costs you nothing extra, it reported “none of these ages reach your target” three lines above a table showing every age reaching it. It now leads with the earliest age you could actually retire and what it would cost you a month.
  • Entry boxes are sized to what goes in them, with $ and per-month markers on the money ones. A two-digit age no longer sits in a box the width of the page.
  • An annuity is now described as the product it is, rather than by a dial. Income for life, or an account you draw from — and if it is an account, whether the insurer keeps paying once the balance is gone. That last one is the whole point of a lifetime-income rider, and until now every annuity this app built was the other kind: the income simply stopped the year the balance ran out, whatever product you had in mind.
  • For a couple, an annuity now asks what happens if the owner dies first — how much of the income continues to the survivor, how many years of payments are guaranteed regardless, and what becomes of whatever value is left. That last question is worth six figures and was being answered for you: on a $400,000 contract, passing it to the survivor costs about $1,800 in tax that year and cashing it out costs about $121,000. Single plans don’t see these — there is no one left for the contract to pay.
  • Annuity income you already receive can now say how it is taxed. Bought with money you had already paid tax on, part of each payment is your own money coming back and isn’t taxed again; held inside a Roth, none of it is. The plan asks for the figures from your annuity statement rather than guessing, and explains the part people get wrong — the untaxed amount is fixed in dollars at your first payment, so it does not grow with your cost-of-living increases.
  • If you are a couple with no brokerage or cash account, a policy that can pay out to the survivor now tells you so while you are filling it in, with a link to fix it — instead of the plan refusing to run afterwards with no clue which page to open.
  • Education costs can have their own rate above general inflation, the way healthcare does. It applies to every goal you have marked as education, so it is one number to change instead of five.
  • A conversion strategy you locked in now notices when the tax rules behind it change, not just when your plan does — and says which of the two it was. Being told your plan changed when you changed nothing sends you hunting for an edit you never made.

Engine & model

  • The subsidy rules for health cover before 65 have been checked against the published 2026 tables and corrected. The enhanced subsidies of recent years expired at the end of 2025: above four times the poverty line there is now no help at all, and any advance credit taken during the year is repaid in full rather than capped. A single 60-year-old just over that line goes from $9,321 of help to nothing. Cover before 65 costs more here than it did — run an existing plan again to see your own figures.
  • How an annuity is taxed now follows the product. One that pays you for life spreads your original investment across the payments, so part of each is untaxed; one you draw an account down pays out its growth first, so the early payments are the taxable ones. A deferred annuity bought with pre-tax money also counts toward your required minimum distributions until it starts paying, unless it is a longevity contract.
  • A pre-tax annuity left to a spouse now moves into their own retirement account untaxed whether or not it had started paying. Previously one that was already paying was cashed in and taxed in the year of death.

1.2.0b8

September 2026 · what the strategy is worth

App

  • “Keep the most after tax” now solves for what you end up with. It used to aim at the smallest lifetime tax bill, which is not the same thing: a tax bill paid early is money that stops growing, so the cheapest tax bill can leave you poorer. On one real plan the old measure claimed a strategy was worth $1.26M when the estate actually grew by $545k. The headline now reports the money you keep, and it is a smaller, truer number.
  • The answer shows where that money comes from. Tax you don’t pay, Medicare premiums you don’t pay, then what that leaves invested changes about your pre-tax and after-tax balances, and finally what your heirs keep after their tax rate. The rate is one of your inputs, and it is now on the page beside the answer — set it to zero for money going to charity.
  • The page stopped starting a long search without being asked. Finding a conversion schedule takes minutes, and on a plan that doesn’t work yet those minutes answer the wrong question. It now offers, and says plainly when your plan is too far off target for the search to be worth the wait — without stopping you running it anyway.
  • A schedule built for a different goal is no longer invisible. If your plan carries a conversion schedule chosen for another objective, the answer says so, says every figure on the page already includes it, and offers to replace it — removing the old one before searching, which is what stopped the search reporting that nothing could be improved.
  • An adopted schedule can now tell you the plan changed under it. Change your spending after locking one in and it says so, above the numbers it affects, and offers to search again against the plan you have now.
  • The drift notice stopped offering to do what it was already doing. Arriving after an edit, it says “recomputing now” while the run is in flight instead of inviting you to start it.
  • Fixed: a plan for two people with different planning ages reported the shorter horizon. The verdict said “funded every planned year to age 95” on a plan that runs to 100 — understating exactly the years a survivor is most exposed in.
  • Fixed: “adjust the limits and run again” pointed at controls that were hidden. The limits shape every search, so they are always visible now, and adopting a schedule sets the switch that adopting it implies.

Engine & model

  • A locked schedule now records the inputs and the search limits it was built under, so the app can tell you when it is out of date instead of presenting it as current.
  • That check ignores settings that cannot change the answer. Turning on error margins or running more simulated lifetimes no longer marks your strategy stale; a market-stress scenario, which genuinely changes it, does.
  • A schedule locked before this shipped is never reported stale rather than guessed at — there is nothing to compare it against, and a warning with no evidence behind it is worse than none.

1.2.0b7

September 2026 · money on a single date

App

  • One-time events have their own page. Money that arrives or leaves on a single date — an inheritance, a home sale, a business sale, a new roof — used to be a signed row in the Expenses table. It now has its own page under Inputs, with money in and money out listed separately, and the Inputs menu is grouped by what you’re describing: who, what you have, cash flows, protection.
  • The tax question is asked in your terms. For money coming in you say what you know: just what you expect to receive, your cost basis, or that it’s all taxable as income. Say “cost basis” and the next question is what you’re selling — your main home, a rental, a commercial property, a business, a stock, something else, or something you inherited — and that one answer settles how the gain is taxed: the depreciation a rental or business has to pay back, the main-home exclusion, the holding period. You no longer fill in a four-way tax breakdown.
  • A sale is priced at the sale, not today. The sale price grows to the year you sell while what you paid stays what you paid, so the gain that gets taxed is the real one. The editor shows today’s composition and says plainly that the taxed figure will be larger. Something inherited is treated as having stepped up in value at death, so no gain is invented.
  • Selling one thing to buy another is one entry. Downsizing a home, or a like-kind exchange, is a single row with both legs — the cash that actually changes hands, what’s taxed now, what’s deferred, and the replacement’s basis — instead of two rows you had to keep consistent.
  • A one-off cost has a priority. It’s paid ahead of every ranked goal unless you lower it, and if a bad market means it can’t be paid, that shows up in the goal-funding results rather than silently shortening your plan. The page no longer claims a cost is unconditional, because it isn’t.
  • The year-by-year tax view shows depreciation recapture and short-term gains as their own lines in the year a sale lands, so a large sale’s tax bill is visible for what it is.
  • A run that won’t start points at the right page in three more cases: a problem with a one-off cost sends you to One-time events, money coming in with no taxable account to land in sends you to Accounts, and rejections the simulation raises part-way through are now explained at all instead of falling back to “check your inputs”.

Engine & model

  • A sale is worked out from a price and a basis, not split up in advance. Only the price grows with inflation; the cost basis, depreciation already taken, and the main-home exclusion are historical numbers and stay fixed. Depreciation on a rental or commercial property keeps accruing until the sale and is recaptured first, before any exclusion, as the tax code requires.
  • Recaptured real-estate depreciation is taxed at ordinary rates capped at 25%, in its own bucket. Before this it was routed through short-term gains with no cap, which over-taxed anyone above a 25% marginal rate — and the bucket is bracketed so it never costs more than the uncapped route when other income is under the standard deduction.
  • The old model for one-off costs was retired. It quoted its amount in different units from money coming in — nominal at the date, rather than today’s dollars grown to it — which meant an equal deposit and withdrawal in the same year manufactured wealth out of nothing; and a positive one could land in a Roth untaxed. One-off costs are now one-month goals, with the same inflation treatment, owner, and priority as everything else. The tax arithmetic on a funded plan is unchanged to the dollar.
  • Taxable interest now counts toward the net investment income tax. Results get slightly worse, not better, for households with a lot of interest income; the model was optimistic before.
  • Money coming in carries its tax character — the untaxed return of what you paid, ordinary income, long-term and short-term gain — and a deposit credits its basis, closing a case where the same dollars could be taxed twice. A windfall can no longer be deposited into a Roth.

1.2.0b6

August 2026 · the optimizer explains itself

App

  • You can see what a limit is costing you. If you cap Roth conversions — at a tax bracket, or to protect your Medicare premium — the result now tells you how much better the best option you ruled out would have been. Before, that figure was worked out and thrown away, so a cap that cost you a little and a cap that cost you a lot looked identical. It is shown as the price of a choice you made on purpose, not as a mistake.
  • Each goal reports the number it actually won on. Asking for the most after-tax wealth used to headline a tax figure it had not been aiming at — which made the goal that ends you richer show the smaller number. It now leads with the wealth it won. And when you ask for the lowest lifetime tax, the result says what that costs: a schedule can genuinely minimise your tax and still leave you poorer at the end, and it now says so instead of leaving you to find out.
  • The recommendation is written in English. The suggested plan used to be labelled with the name of the internal search that found it. It now says what it does — “Fill the 22% bracket”, “A different target each year” — and the list of alternatives it compared no longer repeats the same row twice.
  • The conversion plan describes itself honestly. It used to say “convert about $X–$Y each year” for a schedule that skips years, and real ones routinely do — one plan converting in 9 of 21 years was described as 21 years straight. It now says how many of the years actually convert, and leads with the total rather than a per-year range that could span 128×.
  • The limits shown beside a result are the ones that produced it. Changing a cap after a run used to relabel the answer already on screen, so the figures from one limit sat under a sentence naming a different one. The result now keeps the limits it was actually run with.
  • A run that finds nothing to do says which kind of nothing. “Your caps ruled everything out”, “converting genuinely doesn’t pay here”, and “those years had nothing to work with” are different answers with different fixes, and the last of those used to come through as a shrug.
  • A run that won’t start tells you which input stopped it, and where to fix it. Every rejection used to collapse into one line asking you to check that your inputs were complete — naming nothing and pointing nowhere.
  • Loading a saved plan no longer reports an update as lost data. Opening an older plan could warn you that fields had been dropped when it had simply been brought up to date.
  • Your plan asks what you’re solving for, and keeps the answer in front of you. The question moved into setup instead of being buried, and the goal you chose now follows you onto the detail pages so a number is always framed by what you asked for.
  • You can ask for Roth conversions to finish sooner. A pacing choice trades a slightly larger lifetime tax bill for a shorter, earlier conversion window — worth it if you would rather not depend on the rules staying put for twenty years.

Engine & model

  • The Social Security claiming search was measured against the alternative and left as it is. Aiming at the largest estate instead of the most guaranteed lifetime income turns out to score every claiming age identically on exactly the households where the decision matters most — the ones that run out of money — while the income measure still distinguishes them, and correctly stops recommending you wait until 70 when the portfolio would not survive the wait.
  • The Roth and withdrawal searches now aim at what your household keeps after tax, rather than the smallest lifetime tax bill. Measured across every return assumption from 0.5% to 4%, aiming at wealth wins on wealth at all of them; the lowest-tax goal is still there when you want it, and now says what it costs.

1.2.0b5

August 2026 · plans that refused to run

App

  • Plans with a workplace contribution run again. If you put an amount into a 401(k), 403(b), 457(b) or SIMPLE IRA, the simulation refused to start and said only that your inputs might be incomplete — with nothing marked and nothing to correct, because there was nothing wrong with what you entered. The contribution was being counted twice on its way to the simulation, and it stopped rather than report a number it knew was double. Nothing to redo: open your plan and run it. If you zeroed a contribution to get a result, put the real figure back.
  • Renaming someone no longer breaks a saved plan. If you opened a plan you had saved and changed a person's name, the simulation could stop running — even though the same plan ran a moment before. A saved recommendation you had locked in (a Roth conversion schedule, a claiming age) still referred to the old name, so the plan named someone who was no longer in it. The name now carries through to those locked-in recommendations, which keep their figures — nothing you approved is lost, and there is nothing to re-run.

1.2.0b4

August 2026 · corrections from beta testing

App

  • Maxing out an IRA works. Choosing “Max out” on the IRA that ships with a new plan — or on any IRA in a plan you saved a while ago — left the Save button dead, with nothing on screen saying why, so the account quietly went on contributing the fixed dollar amount it started with. If you set an IRA to max out and it kept using a set figure, open it again: it now saves, and shows you the limit it will use this year, including the extra you're allowed from 50.
  • Picking an objective no longer changes how you plan your spending. Choosing something like “Survive a bad market” used to switch your spending approach outright — a different way of deciding what you withdraw, which can move your result by twenty points with nothing said about it. Now it only fills that in when you haven't chosen one yourself; if you have, Expenses suggests the switch and leaves it to you.
  • Adding someone to your household now sets up their Social Security. It used to create a person with no benefit at all, so a plan you built by hand was missing the largest guaranteed income most people have. The estimate comes from the income you enter, and you can change or decline it. A spouse who never worked still gets one — they're owed a benefit off their partner's record.
  • The Social Security optimizer tells you the real reason it can't run. It used to answer “add a Social Security benefit on the Income page” even to people looking straight at one — most often a spouse paid off their partner's record, whose claim age genuinely has nothing to search because that benefit stops growing at full retirement age. It now says which of those is in the way.
  • A new plan starts with a 401(k) rather than an IRA contributing more than an IRA legally can, so it no longer opens on a warning about a figure you didn't enter.

1.2.0b3

August 2026 · benefits & contribution limits

App

  • A spouse who never worked now gets their Social Security. They're entitled to a benefit off their partner's record — roughly half of it — and while the app showed that figure, the projection wasn't paying it. Every plan with a non-working or low-earning spouse was understating lifetime income, and the drop in household benefits when the first spouse dies never appeared. Both are fixed. If you have such a plan saved, re-run it — the answer will change, usually for the better.
  • That benefit also can't start until the working spouse actually files. Delaying the higher earner to 70 used to look free; now the wait costs what it really costs, so comparing claiming ages is honest. Where a start date differs from the age you entered, the Income page shows the real one and flags it.
  • Employer contributions respect the IRS caps. Above ~$360k of pay, employer formulas stop counting the extra — an 18%-of-pay contribution on a $500k salary is 18% of $360k, and the readout now says so instead of promising you $25k that never arrives. You'll also get a warning when your contributions plus your employer's exceed the annual cap for one plan.
  • A 457(b) can now run alongside a 401(k) or 403(b). It has its own separate contribution limit, so funding one doesn't reduce what you can put in the other — common for public-sector and airline plans.
  • Accounts you own jointly now behave that way: a joint brokerage or cash account gets the cost-basis step-up at the first death that sole ownership doesn't. The setup wizard offers Joint on those two account types, and tells you the Accounts page takes as many accounts as you like once your plan is built.
  • The wizard's suggested figures are now filled in rather than hinted at, so what you see in the box is what your plan uses. And the expenses timeline no longer prints both partners' retirement labels on top of each other when they retire the same year.

1.2.0b1

July 2026 · spending rework

App

  • “Maximize my lifestyle” plans are rebuilt around one honest idea: your spending rule decides your PORTFOLIO WITHDRAWAL each year — as the rules' authors wrote them — with Social Security and pensions spent on top, and your total spending never below the floor you set. The old design got this wrong twice: an essentials layer stacked under the rule (two floors that silently added), and guaranteed income quietly reduced the rule's payout instead of adding to it. Every floor+variable result moves with this fix. That is the point of the release.
  • The rule setup now tells you what you actually get to live on — “≈ $40k/yr from your portfolio + $30k guaranteed income ≈ $70k/yr to spend” — and flags a floor your guaranteed income already covers, or a ceiling below it.
  • The rule preview teaches how each rule behaves — the same illustrative crash-and-boom cycle for every rule, showing the cuts, raises, and where your floor catches the fall — while the Spending results page narrates what actually happened in your plan, including the early years before Social Security starts, when the portfolio draws extra to hold your floor. And leaving the floor at $0 is now a conscious choice: the page tells you exactly what that means before you run.
  • A real rule menu, with the authors' names kept honest: Guyton-Klinger (the full published rule set — new plans start here), Simplified guardrails (what this app previously ran, now honestly named), Bengen's floor & ceiling, Clyatt's 95% rule, the Kitces ratchet, plain % of portfolio, and VPW. Picking a rule starts it at its author's published numbers; change a defining lever and it relabels itself “Custom (based on …)” automatically.
  • The spending results page now leads with the question a floor can actually fail: “Did your floor hold?” — the share of futures where spending never fell below your floor, and when it did, how many years and how far below.
  • Loading a plan saved before this release maps your old essential spending onto the new single floor (never summing the two old floors) and says so with a banner on Expenses until you dismiss it.
  • The Spending results page replaces the old static input gauge with a live withdrawal-rate corridor — your actual median rate and its spread across markets, plotted against the cut/raise bands your rule defends — plus two redesigned charts showing raises, cuts, and floor/ceiling binds by age.
  • Medicare's IRMAA surcharge no longer distorts your tax-rate chart. IRMAA is billed on income from two years earlier, so a year your income dropped — right after a big Roth conversion, say — could show an absurd “effective tax rate” that folded in a surcharge from a very different year. IRMAA now has its own line everywhere (Tax & Cash Flow, the Roth conversion ledger) instead of being silently mixed into “tax.”
  • Fixed: the hub's Investment Strategy, Insurance, Taxes, Optimize, and Income status rows could get stuck reading “Default” even after you'd customized them.
  • Fixed: the sensitivity tornado chart could render as empty bars for spend-down rules (VPW, % of portfolio, Clyatt) that structurally can't fail — it now explains why instead of looking broken.

Engine & model

  • One composable spending policy runs every rule (a generator, trigger adjustments, and bounds), with each named preset pinned to its source paper's constants by tests — and verified to reproduce the previous engine's behavior exactly for existing rules.
  • Variable rules are withdrawal rules now, per their sources: the rule governs the portfolio draw, guaranteed income is consumed on top, and the floor/ceiling bound total spending. A household with $30k of Social Security running a 4% rule on $1M draws $40k and lives on $70k — the engine previously read the $40k as total spending and quietly spent the Social Security first. A broke household with Social Security is now short the floor-minus-income bridge, not the whole floor.
  • New floor-integrity statistics: the share of futures that ever fell below the floor, years below, and how far below — a path that runs out of money counts as below its floor, not as a rounding footnote.

1.1.0b2

July 2026 · behavioral release

App

  • Answer-first results: choose what you're solving for — retire earlier, keep the most after tax, will it hold, leave a legacy, or save enough — and “Your Plan” leads with a plain-language answer to that question, with the supporting numbers one tap below.
  • New setup index you can fill in any order (nothing is gated until you run), and a reorganized navigation: Your Plan, Details, and Refine.
  • Redesigned Overview: a net-worth projection with retirement / Medicare / RMD milestones and the ending-wealth range read right off the chart, plus gateway cards (balances, spending, taxes, sensitivity) that fill in in the background as their analyses finish.
  • Multi-model stress test: see how the plan holds up across several market models — including a replay of the actual 1928–2025 record — not just one, with a safe-withdrawal band across them.
  • Optimizers you can adopt and lock in: Roth conversions, withdrawal order, and Social Security claim age, each shown as a before/after ledger with its net benefit; lock the winner in as a strategy layer.
  • Rebuilt inputs in one consistent “datasheet” style across Household, Accounts, Income, Insurance, and Investment Strategy.
  • New timelines: guaranteed income (with a peak-income figure and the spousal Social Security benefit applied) and scheduled spending by category, both anchored to your retirement age.
  • Reworked, customizable Tax & Cash-Flow tables with readable dollar axes.
  • Guardrails: when a plan can't run as configured (for example, banked surplus with no account to hold it), the run is blocked with a clear explanation instead of returning a misleading result.
  • New plans start with a cash account and contributions off, for a clearer baseline; a confidence target you set is now honored everywhere the plan is judged or optimized.
  • Spending results now speak your plan's language. If you set a floor and a variable rule, the page reads back what you actually chose — your floor, your rule, and what it paid out — instead of a fixed-spending story, and a new “How your spending behaved” panel shows how often spending was cut, the worst run of back-to-back cuts, how often it rose, and how much of retirement you spent at your floor.
  • Two spending charts that had never once drawn — guardrail cuts and raises by age, and how often a floor or ceiling binds — now render, and the variable-percentage view finally shows what's left at the end.
  • Corrected several figures that described a plan you weren't running: an invented discretionary amount, a “you could spend up to” ceiling taken from a fixed-spending solver, and a “discretionary” goal that was always ~100% funded because a spending rule cannot underfund itself.

Engine & model

  • The app now runs on a separate, versioned calculation engine (FEAsibleEF 1.1) reached over an API; every result still carries its engine version and a config fingerprint, so any number can be reproduced and traced.
  • Historical return models — resample real multi-year blocks of the 1928–2025 record, or replay it start to finish — alongside the parametric default, with returns and inflation now drawn together so their real relationship (e.g. stagflation) is preserved. Safe-withdrawal “triangulation” across models feeds the stress test.
  • Honest goal funding: the funded figure is the share of scenarios that fully fund every goal, read directly from the engine (no optimistic rounding).
  • Reads richer engine output — cash flows, realized gains, long-term capital-gains tax, and per-scenario goal funding — behind the new tables and charts. Optimizer and sensitivity runs are parallelized for speed.
  • The engine now reports what a variable spending rule decided each year — the share of scenarios cut, held, or raised at each age, and how often a floor or ceiling bound — as well as how often spending rose. Only the lifetime totals were reported before, which is why the by-age spending charts had nothing to draw.

1.0.0b3

June 2026 · update

Engine & model

  • Cash-flow modeling fix: a required minimum distribution larger than the year's spending now keeps the surplus (reinvested rather than lost), so projections in cash-flow modes are more accurate — some figures shift.

1.0.0b2

June 2026 · update

App

  • Already-retired plans: enter a retirement age at or below your current age and the plan starts drawing down right away.
  • State income tax now starts off (federal-only) so results aren't tied to one state's rules; pick your state of residence (preset states, a custom flat rate, or none) in Quick Setup or on the Assumptions page, and results pages flag when it's off.
  • Filing status is now set automatically from your household (joint through the year of a spouse's death, then single) instead of being a manual choice.
  • Tax & Cash-Flow tables now show net investment income tax (NIIT) and your marginal tax rate alongside the existing columns.
  • A consistent action bar — run, export, today's-$ vs future, and edit assumptions — now sits below the title on every results page.
  • Plans bank surplus guaranteed income from retirement (held as cash) by default, for a more conservative baseline.
  • Sensitivity analysis now labels each factor by person for couples.

Engine & model

  • More accurate inflation compounding in the year-by-year projection (a correctness improvement; some figures shift slightly).
  • Honest-uncertainty reporting: a margin of error on the headline confidence figure, with optional confidence bands on ending wealth.
  • Steadier results from the same number of simulated paths (variance reduction on by default).

1.0 beta

2026 · initial release

App

  • Quick Setup wizard seeds a starting plan in a few questions — for one person or a couple, with retirement accounts for each.
  • Save a plan to a file and reload it later to keep working — no account, and nothing is stored on a server.
  • Inputs for household, accounts (taxable, Traditional, Roth, HSA, 529, cash), guaranteed income (Social Security, pensions, annuities, rental), insurance (term life, annuities, long-term care), goals, and one-time events (an inheritance or property sale coming in, a single big cost going out).
  • Investment Strategy page: one household mix, a per-account mix (asset location), or an age-based glide path; rebalancing and fees.
  • Roth conversions, withdrawal order, and Social Security timing — set by hand or let an optimizer choose, with the net benefit shown.
  • Results in one place: plan confidence, wealth fan charts, spending, tax & cash-flow, scenario comparison, and sensitivity analysis; CSV export.
  • Plain-language labels and contextual help throughout; light & dark themes; desktop-first layout.

Engine & model

  • Monte Carlo simulation over thousands of market paths using a correlated multi-asset return model.
  • Per-account asset allocation and age-based glide paths, with periodic rebalancing.
  • Tax modeling: federal brackets, bracketed state tax, capital gains, Social Security taxation, required minimum distributions, and Medicare (IRMAA) surcharges.
  • Spending policies: constant-real, guardrails, variable-percentage withdrawal, and floor-and-ceiling.
  • Optimizers that weigh lifetime taxes together with the deferred tax embedded in any leftover pre-tax balance.
  • Guaranteed-income and insurance / annuity / long-term-care modeling.

For educational and illustrative purposes only — not financial, tax, legal, or investment advice. Projections are model output, not predictions. See the full disclaimer on About.

© 2026 Engineered Finance · v1.3.0b3

About
How it works
Disclaimer
Limitations
Changelog
Contact