Retirement math is messy. Tax law shifts. Healthcare rules change. Spending bends across decades. The only honest answer comes from modeling assumptions year by year and seeing what they imply.
Someone in my family asked me to help think through retirement. Not just which account to draw from first, but the full picture: Roth conversions, healthcare subsidies, Social Security taxation, spending shape, state taxes, and Medicare premiums. I could not find a tool that modeled it all together, so I started building.
RetireCalc lives at retirecalc.ericbwong.com. It runs entirely in your browser. It is free, and your numbers never leave your device.
What it is
A year-by-year retirement projection that compares three withdrawal strategies side by side. You enter accounts, income sources, spending target, and filing status. The engine runs the tax and benefit cascade: Social Security taxation, federal and state brackets, capital gains stacking, RMDs, ACA subsidies, Medicare IRMAA, early withdrawal penalties, and Roth conversion windows. Every number traces back to inputs and rules.
What changes the answer
The variables interact. That is where simple calculators get the answer wrong. A few levers that move the math:
- Healthcare in the pre-Medicare years. Before 65 you are on the ACA marketplace, where premiums are tied to MAGI. Stay under the subsidy thresholds and you save thousands a year. A big Roth conversion in those years can wipe the subsidy out.
- Medicare IRMAA cliffs. From 65 on, Medicare premiums step up at MAGI thresholds with a two-year lookback. A conversion at 63 can spike your premium at 65 with no chance to undo it.
- Social Security taxation. When provisional income hits the 25k to 34k band, each dollar of Traditional IRA withdrawal can drag up to 1.85 dollars of Social Security into the tax base. The right answer that year is often not the obvious one.
- Roth conversion windows. The cheapest years to convert are after you stop earning and before RMDs start. ACA subsidies push back. Finding the band that wins both requires running the full cascade.
- Spending shape across retirement. Most plans spend more in the first ten years than the last ten. Spending more early changes which years are “the right years” to convert, and which years to draw from which account.
- Capital gains stacking and state tax. Long-term gains stack on ordinary income. State rules diverge. Florida and Texas have no income tax. California taxes capital gains at ordinary rates. Strategy moves with the address.
Built for one, designed for anyone
The first version was tailored to one person. Two weeks in, the model clearly wanted reusable profiles. Now it ships with synthetic scenarios: a 45-year-old FIRE candidate in California, a 65-year-old married couple in Florida, and a US citizen abroad in Hong Kong with MPF accounts. They test different code paths and let users kick the tires before entering their own numbers.
What is in the tool today
- Three withdrawal strategies compared side by side: conventional (taxable first, then tax-deferred, then Roth), dynamic (avoids the SS torpedo and IRMAA cliffs), and ACA-optimized (keeps MAGI under subsidy thresholds while you are pre-Medicare).
- Account types covered: 401(k), Traditional IRA, Roth IRA, 403(b), 457(b), HSA, brokerage, real estate, and crypto with lot-level cost basis.
- States supported: California, New York, Texas, Florida, Nevada, Washington. Hong Kong expat features in active development, including FEIE, Foreign Tax Credit, and MPF treatment under PFIC rules.
- Year-by-year projection table with formula trace. Click any cell and see exactly which inputs and tax rules produced that number.
- Charts for account balances, effective tax rate, bracket breakdown, and strategy comparison.
- A recommender that surfaces actionable tips: Roth conversion timing, Social Security claiming break-even age, ACA cliff headroom, and early withdrawal penalty exposure.
- 385 unit and integration tests behind the engine, with 44 stress-test profiles covering filing statuses, ages, and account mixes.
Your data stays in your browser
This part matters. RetireCalc has no backend. No signup. No account. No server sees your inputs. After the initial page load, the calculator makes no network calls. No analytics, no telemetry, no error reporting. The only production dependency is an Excel export library.
Inputs auto-save to local storage so the page survives a reload. The data stays on your device. Private window closed? Scenario gone. Want to share it? Export a file and send it yourself.
A backend with optional cloud sync is on the roadmap. When it ships it will be opt-in, and the default will stay the way it is today: nothing leaves your browser unless you ask it to.
Honest caveats
This is an active build. The engine is well tested, but the UI still has rough edges. Multi-device sync requires manual JSON export until the backend lands. Tax law moves, and this is not a substitute for a CPA. The recommender tells you what to inspect. It does not tell you what to do.
If you find a bug or a tax case I have not modeled, the contact link on the homepage works and I read every message.
Try it
retirecalc.ericbwong.com. Free, no login, no data captured. Start with a synthetic profile, then plug in your own numbers. If the tool gets a scenario wrong, tell me. That is how the test suite grows.