How Coastward works

One site, two engines, zero servers. Everything below - every simulation, every certification - runs either in your browser or in the test suite before a line of it ships. This is the tour of the machinery, and of the numbers that keep it honest.

154 yrsof real market history bundled
10,000alternative histories per simulation
13 × 10,000scripted strategies × full lives per game certification
0servers, databases, or accounts - it's all in your browser

Your coast number is a probability

A typical calculator compounds your portfolio at one fixed return and hands you a date. But two savers can earn the same average return and end up decades apart, because it matters enormously when the bad years land - early crashes hit a small portfolio lightly and a just-retired one hard. That's sequence-of-returns risk, and averaging it away is how a calculator tells you a comfortable lie. So Coastward gives you the straight-line answer first, then the honest one: across 10,000 replays of real history, how often did this plan actually make it?

The data: real returns, credited

The simulation draws from long annual series of real (inflation-adjusted) total returns - dividends and coupons reinvested, in US dollars. The longest series reaches back 154 years. Nothing is live or scraped; the dataset is processed once from the academic sources below, bundled with the site, and refreshed roughly yearly.

Data through 2025.

Block bootstrap: crashes keep their aftermath

The naive way to simulate is to shuffle single years like a deck of cards. That quietly destroys the thing that ruins real plans: bad years cluster. 1929 wasn't one bad draw - it was the opening of a brutal stretch; 1973–74, 2000–02, and 2008 came with aftermaths attached. So Coastward's historical mode resamples multi-year blocks (7 years by default) of actual history, preserving those chains.

This is the project's non-negotiable: drawing years independently would shuffle away exactly the thing being measured. Each of the 10,000 simulated futures is a different splice of eras that really happened - crashes, recoveries, droughts and booms in their true order. The results table under the chart then ranks every outcome from unlucky to lucky across all 10,000 runs; the fan chart's bands are those percentiles, not a forecast.

Three modes, three kinds of honesty

Historical - block bootstrap (the default) reshuffles real eras, giving the broadest test of sequence risk. Historical - every start year replays the record from each actual starting point, the classic historical-cycle test: every path really happened, but there are only as many paths as start years and they overlap heavily. Statistical draws from a distribution calibrated to your assumptions - useful for "what if returns are worse than history" questions, and exactly as honest as the assumptions you feed it. Each mode's caveat is printed right under the selector, because every mode has one.

We assume less than history gave

The long US record - roughly 7% real for equities - describes the single most successful stock market of the modern era, measured over the century it won. Planning to that average bakes survivorship luck into your future. Coastward's default expected return is 5%, deliberately below the historical mean, and you can dial it lower. If the future is kinder, you'll be early - the good kind of wrong. The same honesty applies to windows: adding international exposure shrinks the shared record (that data starts in 1991), and when it does, the tool says so instead of quietly resampling a shorter, luckier stretch.

Withdrawals: your real spending, tested honestly

After the coast point, each simulated path funds retirement by withdrawing your actual stated spending - a fixed real dollar amount, held constant every year - not a percentage re-derived from whatever balance that particular path happened to accumulate. Your withdrawal rate still does its job earlier, turning that spending into your target number (spending divided by the rate); here in the simulation it is the spending itself that gets drawn. A path whose balance can't sustain that spending genuinely runs out - it counts as a failure, not a silently reduced budget. No pension, windfall, or guaranteed income is assumed. That is why raising or lowering your spending moves the success rate: the number you type is the number each simulated retirement actually has to fund.

The game runs on the same truth

The game compresses a financial life into one-year turns: allocate a paycheck, weather life events, watch the market move. Its market years come from the same distributions the simulator uses - you're not playing against invented numbers, you're living one draw from the fan chart.

Eight streams of luck, one seed

Every run derives from one seed, fanned out into eight independent random streams - so buying a stock never changes which market year you draw, and no choice can dodge a crash that was coming. That's what makes challenge links honest: your friend faces the exact same market you did.

marketthe drawn market year
single_stockidiosyncratic stock luck
cryptocrypto's own chaos
venturestartup survival & exit
eventslife events
shopthe opportunity offered
botcertification bots only
world_asymmetrya hidden regional tilt

A companion rule - year-secrecy - says nothing on screen may reveal which historical year or regime was drawn before you commit your turn. Otherwise the game becomes "recognize 2008, sell everything," which is a memory quiz, not a decision under uncertainty.

The certification that gates every release

The project's hardest rule: the game must never teach that speculation is the reliable path. That isn't a vibe - it's an executable certification that blocks any release of the game's core:

13 scripted strategies play the game with fixed policies - diversified index investing, 100%-US, concentrated single-stock, crypto-heavy, options gambling, all-in founder, cash-hoarder, and control variants.The bots use the same engine a human plays; they can't cheat.
10,000 complete lives each, across four starting scenarios - different incomes, debts, and starting hands.Pure simulation, no rendering - the math libraries are framework-free.
Eight assertions must all hold before the result counts.Any change to the game's core voids the certificate and requires a full re-run.

What the assertions demand, and what the certification of record measured:

What must be trueWhyCertified result
Diversified wins mostThe boring strategy must have the best win rate in every scenario - reliability, not peak.Best rate in 4/4 scenarios (66.4% baseline)
Speculation = varianceConcentrated bets keep their spectacular ceilings and their fast deaths - never dominance.High-percentile ceilings hold; every concentrated line loses on rate
Founding is a real gambleThe startup path should look like what it is: a low-probability, high-ceiling bet - not a cheat code, not a trap.Wins 5.6% of lives; tops the wealth pool at p99 (≈$4.1M) in 4/4 scenarios
Failure is honestAn under-capitalized founder dies of real insolvency, not an arbitrary timer.Founder losses are bankruptcy-majority at 42.5× the timeout count

Why win rate, not average wealth: a strategy that usually dies but sometimes 100×'s can have a flattering average. Averages flatter gamblers. Win rate is the statistic a player's lived experience actually samples - so it's the one the certificate is written in. And the thresholds were never invented: the harness measured reality at full scale first, then pinned the assertions just inside what it measured, so the test detects change, not wishful thinking.

Your save file is treated as hostile

Because anything running on a domain can write to your browser's storage, the game treats its own save file as untrusted input: keys are whitelisted, seeds must be genuine 32-bit integers, every list is capped, and anything malformed is rejected rather than repaired. Shared challenge links pass through the same philosophy - whitelist, range-check, reject.

Your numbers never leave your browser

There are no accounts and no server doing math on your finances. The dataset downloads to your browser and every simulation runs locally; a shared scenario is encoded entirely in the link itself. What you type stays on your machine.

The verification culture behind it

What this isn't

Coastward is educational - a way to see how plans behave across history, not personalized advice. The future is under no obligation to resemble the past, and no simulation changes that. Full disclaimer.

Simulation figures on this page are derived from the bundled dataset at build time. Game certification figures are from the certification of record: 8/8 assertions at 10,000 runs per strategy, most recently re-run 2026-07-12.