About
Monaco
Monte Carlo retirement scenario analysis
Build: Jun-04-2026
Page loads: —
Simulations run: —
Settings
How spending (expenses) and liabilities (loans) are displayed throughout the app.
Privacy
Your plan stays on your device. Everything you type — names, ages, account balances, Social Security amounts, scenarios — is saved only in this browser's localStorage. Nothing is transmitted to the server or to any third party.
What the server collects. Two global aggregate counters: total page loads and total simulation runs (shown in the About box). No per-user data, no IP logging by the app, no request bodies persisted.
No third-party trackers. No analytics, no cookies, no advertising pixels, no remote fonts or scripts. The page loads only first-party assets.
Hosting. The hosting platform (Fly.io) may briefly retain edge access logs containing client IPs for abuse prevention. The app itself does not access or store them.
⚠ Shared-device warning. Your plan is stored unencrypted in this browser's storage. Anyone else who uses this browser profile, or a malicious browser extension, can read it. Don't use this app on a shared or public computer without erasing your data afterwards.
Your data, your control.
- Export: use File → Save As to download your full plan as portable JSON.
- Import: use File → Open to load a JSON file you previously saved.
- Reset: use File → New to start over with the built-in default plan.
- Erase: the button below removes every Monaco key from this browser's storage, including display preferences.
This is an educational illustration, not financial advice. No professional client relationship is created by using this app.
Tax Rules & Rates
Features
Interview
- Guided wizard walks every Household, Asset, Liability, Cash Flow, and Transfer field — assets and liabilities asked in separate groups so each gets its dedicated follow-up
- Inline input + buttons render below the last question (no fixed input bar): preset choice buttons for yes/no / married-single / state / asset class, plus a Skip button where appropriate
- Every question has Explain (inline help) and Go back (rewinds to any prior step), so a fast tour is reviewable
- Income / cashflow streams take a NAME so you can identify them later in When can I retire? and the report
- Setup progress strip mirrors the DIY tabs — grey dot → blue dot active → green ✓ done
Results
- Three vertical sub-tabs — Explore Details, Explore Scenarios, Report — all driven by one shared per-plan cache so the baseline numbers match across views
- Explore Details: per-year lines for Net Worth, Income, Expenses, Withdrawals, Deposit, Taxes, Assets, Liabilities; hover dots show totals + per-component breakdowns
- Explore Scenarios: pick a detail series and compare it across baseline + any subset of scenarios as overlay lines
- Report: top-row p10/p50/p90/%Success summary plus the year-by-year detailed report for the selected plan, with Future $ / Today's $ toggle
- Chance of Success gauge with rich tooltip and a Net Estate Value chip that mirrors the report's heirs calc
- Checkbox state for the Explore sub-tabs persists across runs and sessions
Layout
- The three top tabs (Interview, Do It Yourself, Results) share a fixed-height canvas that fits the viewport — only Do It Yourself scrolls vertically
- Sticky tab strip below a sticky appbar; mobile-responsive (hamburger collapses the File menu on narrow viewports)
- Permanent slot for the Run Simulation progress bar — no layout bounce when a run starts/ends
Household
- Individual or husband/wife with account ownership
- Actuarial life expectancy simulation (SSA tables)
Accounts
- Types: Taxable, IRA/401k, Roth, HSA, Cash, Home, Loan, Asset, Pension/Annuity, Legacy Trust
- Multi-asset-class holdings: a single Taxable/Roth/IRA/HSA account splits its balance across up to four holdings — Stocks, Bonds, Real Estate, Cash — each with its own balance, return (μ), σ, β, α, and (for taxable) cost-basis % and dividend yield
- Set mix… wizard fills balances from a preset (Conservative · Moderate Conservative · Moderate · Moderate Aggressive · Aggressive) or custom percentages × a total
- Glide… popup schedules a drift toward a target mix over N years; the engine rebalances each year toward the interpolated mix
- Live per-row percentage label next to each balance; total auto-updates as you type
- Per-row "…" popup edits σ, β, α, cost basis %, and per-class yield in one screen
- Loan can be secured by a home (paid off from the proceeds when that home is sold)
- Cash account with min/max balance (auto-transfers) and taxable interest
- Concentrated-equity risk: per-holding market β and α (excess return)
- RSU / employee-stock vesting schedule (vests as ordinary income, lands in the stock holding)
Houses
- Home value appreciation with housing market correlation
- Annual expenses: insurance, property tax, maintenance
- Sell houses with full tax modeling (LTCG, NIIT, exclusion, commissions); a secured mortgage is paid off from the proceeds
- Move to different cities via scenario state overrides
- Relocate scenario: sell, change state, moving costs, rent, and buy a new home (financed or cash)
Income
- Employment income (flexible schedule)
- Social Security income (with survivor benefits)
- Required minimum distributions (IRS tables)
- Taxable account interest and dividends
- Stock sales (capital gains tracking)
Expenses
- Private medical insurance (flexible schedule, pre/alt to Medicare)
- Rent (flexible schedule for non-homeowners, inflation-adjusted)
- Medicare per-spouse start age, with IRMAA surcharges (2-year MAGI lookback)
- House expenses: mortgage (loan), insurance, property tax, maintenance
- General spending with inflation (optional stochastic inflation volatility)
- Charitable / family gift schedule (after-tax outflow)
Taxes
- Federal income tax with stacked LTCG / qualified dividends & NIIT; state income tax incl. realized capital gains (taxed as ordinary income)
- Federal & state estate taxes
- Inherited-asset tax to heirs: configurable flat heir state income rate on the inherited IRA, stepped-up basis on taxable accounts
- City sales tax
Estate planning
- Irrevocable legacy trust (gifted assets grow outside the taxable estate)
- After-tax value to heirs taxes only the gain over contributed basis (top 20% federal LTCG + 3.8% NIIT + heir state rate)
Scenarios
- Unlimited scenario comparisons; baseline plan is never mutated — Find Best Plan / Max Spending / When can I retire? all save as a new scenario
- Override baseline account variables: edit any baseline account through the full Account Editor; fields differing from baseline highlight amber and grow a ↻ reset button that restores the original value
- Scenario-only accounts: brand-new accounts the scenario adds (legacy trust, synthesized Roth, etc.); editable via the same Account Editor
- Per-scenario transfers; disable inherited baseline transfers
- Relocate scenario: a guided move (sell · change state · moving costs · rent · buy)
Find Best Plan
- Goal toggle: Maximize Net Worth or Minimize Taxes, both subject to a user-set success-rate floor
- Search variables in a 2-column grid: Social Security claim ages, withdrawal order, Roth conversion schedule, glide path, cash balance window, irrevocable legacy trust, plus three with inline controls — Portfolio mix (per selected account), Sell company stock (per selected account), State of residence (candidate-states text)
- Coordinate descent + joint refinement, common random numbers, hard success-rate floor (applied at the seed-set level so a single noisy seed can't reject a robust plan)
- Held-out validation on a disjoint seed stream; non-robust winners flagged
- Result lists every change with hover tooltips and a per-change checkbox — uncheck to drop that part before saving
- "Save as new scenario" with a default name you can edit inline next to the Save button
- View Search Report button opens a Results-tab subtab listing every variable, the actual values searched, baseline vs chosen, evaluation + seed counts, and the held-out validation picks
When can I retire?
- Pick one or more income streams; finds the earliest year they can stop while keeping success above your threshold
- Binary search over candidate retire-years with CRN seeds; result saved as a scenario that clips the selected streams
Max Spending
- Highest extra annual spending you could add to a year range while staying above the success threshold
- Result saved as a scenario that appends the extra spending to the Expenses schedule
Display
- File menu (New / Open / Save As) and a hamburger menu (Settings · About)
- Settings: show spending & liabilities as negative and/or in red
- Per-tab “What's this page for?” plain-language intros
- Report's Cash Flow column has an itemized income / expenses / taxes tooltip
Confirm
Add Scenario
Add Relocate Scenario
Find Best Plan
Searches the levers you check below for the plan that best meets your goal. The result is saved as a new scenario (your baseline plan is not modified — you can compare or delete the scenario like any other). Any Roth, bond, or trust account the plan needs is synthesized in the scenario. Educational illustration, not advice.
More seeds = less overfit, but slower.
Find Max Spending
Finds the highest extra annual spending you could add to the chosen year range while keeping the plan's % Success at or above the threshold you pick. Uses a binary search over a small Monte Carlo simulation; the result is saved as a new scenario (your baseline plan is not modified — you can compare or delete the scenario like any other). Educational illustration, not advice.
The search runs ~12 simulations at a reduced iteration count to converge in seconds. Increase the threshold for a more cautious answer.
When Can I Retire?
Pick the income streams you'd like to stop (e.g. your salary) and a target % Success. The search finds the earliest year those streams can end while keeping the plan above the threshold; the result is saved as a new scenario with the selected streams clipped (your baseline plan is not modified). Educational illustration, not advice.
Check at least one stream above. (Add income on the Cash Flow page if the list is empty.)
Add Account
Edit Holding
Returns
β<1 adds idiosyncratic risk (stock only); α = excess return.
Taxable
Basis % is the share of current value already taxed (100 = no embedded gain). Yield = annual dividends / interest as a percent of slot balance.
Glide Path
The account's holdings will drift linearly from the current mix toward the target below over the specified number of years. After that, the mix holds at the target. Set Years to 0 to remove the glide path.
Sum: 100%
Portfolio Mix
Pick a preset to auto-fill the four percentages, or type your own. Apply distributes the total balance below across the holdings.
Sum: 100%