Coast Fi Checkpoint Calculator
A browser calculator that tells you whether your retirement savings can already grow to your target on their own, at what age they will if not, and how much that answer depends on the return you…
Coast FI Checkpoint
A browser calculator that tells you whether your retirement savings can already grow to your target on their own, at what age they will if not, and how much that answer depends on the return you assume.
Date: 2026-10-06 Theme: Net-Worth + Investing Status: Prototype
What it is
A single-page calculator for "Coast FI" (coast financial independence): the point where the money you've already invested, left alone, compounds into the full amount you need at retirement. You type in your age, balance, contribution, and planned retirement spending. It shows your coast number, the age you cross it at your current pace, and a grid of how that number moves when you change the return or withdrawal rate.
Who it serves
Someone in their late 20s to 40s with a 401(k) or IRA balance that has started to look real, who is asking a specific question: can I ease off? Maybe that means dropping to just the employer match, taking a lower-paying job they'd like more, or going part-time. It also suits FIRE (financial independence, retire early) readers who know the coast formula but want to see their own numbers run month by month.
The money problem it addresses
Most retirement calculators answer "how much should I save each month?" The coast question runs the other way: how much do I need to have saved already, so that I can stop adding? The formula is short (FI number divided by growth over the years remaining), and that's the trap. It depends heavily on one guess, the real return, and a single-number calculator hides that.
Take one synthetic profile from the sample data: age 33, $200,000 invested, retiring at 60, $70,000 a year of spending, 4% withdrawal rate. At a 7% real return, their coast number is $281,628 and they cross it at 40 yr 3 mo. At 4% real, the coast number is $606,929 and they don't cross it before 60 at all. Same person, same savings, and the answer flips between "you can ease off in seven years" and "keep going." Financial Samurai calls Coast FIRE "the weakest type of FIRE" for exactly this reason. The app puts the return assumption next to the answer instead of burying it, so you can decide how much of a bet you're making before you cut contributions.
The withdrawal rate moves the target as well. The classic 4% rule turns $1 of annual spending into a $25 target. Morningstar's 2026 research puts a safe fixed starting rate for new retirees at 3.9%, which makes the same spending need about $25.64 per dollar. The app has presets for both, plus 3.5% for anyone who wants extra margin.
How it works
One screen, inputs on the left and results on the right. Everything recalculates as you type.
- Pick a sample profile or enter your own: current and retirement age, invested balance, monthly contribution, annual retirement spending, and any guaranteed income such as a Social Security estimate or pension. Guaranteed income comes off the spending before the target is calculated.
- Set a withdrawal rate (chips for 3.5%, 3.9%, 4.0%) and a real return, meaning the return after inflation. All dollars are in today's money.
- The banner tells you whether you're past your coast number or short of it, by how much, and what stopping contributions today would leave you with at retirement, as a share of the target.
- Four tiles show the FI number (with its formula), the coast number today, your coast age at the current contribution, and the age your balance reaches the full FI number.
- The chart has three lines by age: your balance if you keep contributing, your balance if you stop today, and the dashed coast line, which climbs toward the FI number as retirement gets closer. Where the solid green line crosses the dashed one is your coast age. Hover for exact values, or open the table underneath.
- The sensitivity grid shows your coast number across five returns (3–7% real) and four withdrawal rates. Cells your current balance already covers get a check mark. If you only clear the 7% column, you are betting on returns.
What's in this folder
index.html: the app; open it directlystyle.css: layout and chart stylingscript.js: the math (integer cents, month-by-month projection), the SVG chart, the sensitivity grid, and an embedded copy of the sample profilessample-data.json: 10 synthetic profiles, including someone already coasting, a new grad starting from $3,000, a pension-backed 50-year-old, and the 7%-vs-4% pair described aboverequirements.md: functional and technical requirementscover-image.png: cover art for the library listingmetadata.md: generation details and sources
How to run / read it
Open index.html in any modern browser. No install, server, account, or internet connection needed. Choose a profile from the dropdown, then change any field to use your own numbers.
Estimated impact
The payoff is a clearer decision. A specific dollar figure is harder to promise. Two examples from the sample data:
- The "already coasting" 38-year-old ($420,000 invested, $60,000 spending, $18,000 guaranteed income, 4% withdrawal, 5% real) has a coast number of $281,241, so they are $138,759 past it. Their $1,500/month contribution, $18,000 a year, is optional under those assumptions. Whether they actually stop is up to them, but now they're deciding with numbers.
- The 7%-vs-4% pair above shows that the return guess alone can move the coast number by $325,301 for the same person. Anyone about to cut contributions on the strength of a 7% assumption should see that gap first.
For scale: the 2026 401(k) employee deferral limit is $24,500 (IRS). Someone who has truly reached coast can redirect up to that much a year to other goals, and someone who only reaches it in the optimistic column probably shouldn't yet.
Good to know
This tool estimates, and it can't tell you what to do with your money. It assumes the same return every year, so it ignores sequence-of-returns risk: a bad decade right after you stop contributing hurts far more than the average suggests. It doesn't model taxes, so a dollar in a traditional 401(k) and a dollar in a Roth count the same here even though they aren't the same at withdrawal. Withdrawal-rate research is updated every year, and Morningstar's figure for 2026 differs from earlier years. Check current numbers, and treat coasting as a choice you can reverse. You can always start contributing again.
Sources
https://www.irs.gov/newsroom/401k-limit-increases-to-24500-for-2026-ira-limit-increases-to-7500: 2026 401(k) deferral limit ($24,500) and IRA limit ($7,500)https://www.boldin.com/retirement/safe-withdrawal-rate-morningstar/: Morningstar's 2026 safe starting withdrawal rate (3.9% fixed, up to 5.7% with flexible spending)https://www.morningstar.com/business/insights/research/the-state-of-retirement-income: Morningstar's State of Retirement Income report, the primary source for the 3.9% figurehttps://getfinny.app/blog/what-is-coast-fire: Coast FI formula (FI number ÷ (1 + return)^years) and the 25× (4% rule) FI numberhttps://www.financialsamurai.com/what-is-coast-fire-financial-independence-retire-early/: the case against relying on Coast FIRE (return dependence, "the weakest type of FIRE")
Requirements
Requirements: Coast FI Checkpoint
Functional requirements
- FR-1 User enters current age and target retirement age (whole years). Retirement age must be greater than current age; otherwise the verdict area shows a validation message and no results render.
- FR-2 User enters invested retirement balance ($) and current monthly contribution ($).
- FR-3 User enters planned annual retirement spending ($, today's dollars) and guaranteed annual income at retirement ($, today's dollars: Social Security estimate, pension, annuity). Guaranteed income defaults to the sample profile's value and may be 0.
- FR-4 User enters a withdrawal rate (%) directly or via preset chips: 3.5%, 3.9% (Morningstar's 2026 fixed-spending starting rate), 4.0% (classic rule).
- FR-5 User enters an expected real (after-inflation) annual return (%), bounded 0–10%.
- FR-6 App computes FI number = max(0, spending − guaranteed income) ÷ withdrawal rate.
- FR-7 App computes coast number today = FI number ÷ (1 + real return)^(retirement age − current age).
- FR-8 App projects two balances month by month from today to retirement age: (a) with the current monthly contribution added at the end of each month, (b) with no further contributions. Monthly growth factor = (1 + real return)^(1/12).
- FR-9 App computes a coast line for every month: FI number ÷ (monthly growth factor)^(months remaining to retirement).
- FR-10 Coast age = first month where balance (a) ≥ that month's coast line. If none before retirement, show "Not by
". - FR-11 Full FI age = first month where balance (a) ≥ FI number, searching up to age 90. Contributions stop at retirement age; growth continues. If not reached by 90, show "Not by 90".
- FR-12 Verdict banner states either the surplus over the coast number (and the contribution dollars per year that become optional) or the shortfall, the coast age at current pace, and what stopping today would leave at retirement as a percent of the FI number.
- FR-13 If guaranteed income ≥ spending, FI number is 0 and the verdict says the portfolio isn't needed to fund the gap.
- FR-14 An SVG line chart plots balance (a), balance (b), and the coast line (dashed) by age, with a legend, right-edge direct labels, a vertical coast-age marker, and a hover crosshair + tooltip snapped to whole years.
- FR-15 A collapsible table shows the same three series per year of age, plus a "Coasting?" column.
- FR-16 A sensitivity grid shows coast number today for real returns {3, 4, 5, 6, 7}% × withdrawal rates {3.5, 3.9, 4.0, 4.5}%. Cells the current balance covers are marked ✓ and tinted; the cell matching the user's current inputs is outlined.
- FR-17 A sample-profile dropdown loads 10 synthetic profiles from the embedded mirror of
sample-data.json, including a paired 7%-real vs 4%-real profile for the same person. - FR-18 All results recompute on every input change; no "Calculate" button.
Technical requirements
- TR-1
index.htmlopens fromfile://in any modern browser. No build step, server, network calls, CDN, login, or API key. - TR-2 Money is held as integer cents. Dollar inputs are converted once with
Math.round(x * 100); each monthly growth step is rounded back to whole cents. Formatting to dollars happens only at display time. - TR-3 Sample profiles are embedded in
script.jsas a mirror ofsample-data.jsonbecausefetch()of local files fails underfile://. The two must stay identical (checked withJSON.stringifyequality during development). - TR-4 Chart series colors (#059669, #4f46e5, #d97706) pass the dataviz palette validator on the light surface; the coast line is also dashed so identity never depends on color alone.
- TR-5
script.jsexportsproject,fiNumberCents,coastNumberCents, andSAMPLE_PROFILESunder Node (module.exports) so the math can be tested without a browser. - TR-6 No values are persisted or transmitted; state lives in the form fields only.
Non-requirements
- No nominal-dollar mode, inflation input, or tax modeling. Everything is in today's dollars with a real return.
- No Monte Carlo or sequence-of-returns simulation; the projection assumes a constant return.
- No account aggregation or import.
- No recommendation of specific funds, securities, or providers.
More from Financial Ideas