William Conyers

This website is a creative space. Some days I'm here to build with AI and some days to exile technology and prove to myself I can still think big original thoughts.

FANTASY

Considering Fantasy Stories

FANTASY

The Chosen One Problem

The test will go here when I have a post. More examples below.

Why it persists

The trope persists because it solves a real problem cheaply. Fantasy worlds are enormous and the reader needs a reason to care about them. Attaching that world's fate to one person creates stakes instantly. The problem is that stakes and investment are not the same thing. I can understand that the world will end and still not care who saves it.

The writers who solve this — Le Guin, Tolkien at his best, Robin Hobb consistently — solve it by making the chosen one's inner life more interesting than their destiny. The external plot is a container. What fills it is a person who would be worth reading about even in a world with no prophecy, no darkness rising, no sword in any stone. That is the harder thing to write. It is also the only thing worth reading.

DATA SCIENCE

Data Science Projects

DATA SCIENCE

Modeling My Own Retirement

The test will go here when I have a post. More examples below.

What the model taught me

The single most important variable is not return rate or contribution amount. It is time. The difference between starting at 25 and starting at 35 is not ten years of contributions — it is a decade of compounding on everything that follows. Visualizing this made it visceral in a way that no article about compound interest ever had.

The Roth versus Traditional question, which financial media treats as deeply complex, turns out to be simple once you model it: if your tax rate in retirement will be lower than it is today, Traditional wins. If it will be higher, Roth wins. The uncertainty is entirely about predicting your future tax rate, and the model forces you to own that assumption explicitly rather than outsourcing it to a default.

TOOLS

Small Useful Things

TOOLS

Net Worth Calculator

Projection
Steady growth
Market simulation
Market Simulation Model Simulates monthly portfolio movements using Geometric Brownian Motion (GBM) — the industry-standard model for asset prices.

Each month the portfolio changes by:
exp((μ − σ²/2)·dt + σ·√dt·Z)

where μ is your return rate, σ = 16% (historical S&P 500 volatility), dt = 1/12, and Z is a random standard normal draw. Expected long-run outcome matches steady growth, but paths swing — as in real markets.
Portfolio Value
After-tax at retirement
Total Contributed
You + employer (all accounts)
Your Profile

Both Roth and Traditional accounts grow identically — the difference is when you pay tax. Roth: contribute after-tax dollars, withdraw tax-free. Traditional: defer taxes now, pay at your retirement bracket. Choose whichever rate you expect to be lower.
2026 IRS limits: 401k employee $23,500/yr · 401k total (employee + employer) $70,000/yr · IRA $7,000/yr. Employer match is capped so combined contributions stay within the $70,000 415 limit. Limits are projected to grow ~2.5%/yr (inflation-adjusted in $500 steps, matching historical IRS adjustments). Roth IRA income phaseout begins at $150k (single) / $236k (MFJ). Traditional IRA deductibility limits may apply.

TOOLS

SF Muni — Route 7

Live bus locations are powered by the free 511 SF Bay API.

Get a free key at 511.org/open-data/token, then paste it below.

TOOLS

Next 7 at Haight & Shrader

Uses the same free 511 SF Bay API key as the bus tracker.

Get a key at 511.org/open-data/token, then paste it below.