Colophon
How it’s built
One idea runs through everything: drop enough grains and the shape appears. Here is the machinery, the data and the math, so you can check any number on the site.
Stack
- Next.jsReact framework. The whole site is a static export: plain files, no server.
- Tailwind CSSStyling, driven by the color and type tokens in DESIGN.md.
- shadcn/ui on Base UIAccessible building blocks, restyled for this brand: the jump-to menu, dialogs, menus.
- MotionScroll and layout animation: the grains that drop, the mark that draws itself.
- RemotionVideo written as React. The hero film is a Remotion composition played live in the page.
- LucideIcons.
- VercelHosting and cookie-free page analytics.
Type
- Bricolage GrotesqueHeadlines. Optical size and width axes.
- GeologicaBody text. Includes Greek, so σ and μ match the sentence around them.
- Azeret MonoNumbers, timers and scores. Its zero is plain, so 0 never reads as 8.
All three are free under the SIL Open Font License and served from this site, not a font CDN.
The study engine
Learn, Practice and Solve run on the study engine Monte grew out of (it began as a class study app called Sigma Sandbox), in plain JavaScript: question generators that make fresh numbers every time, eleven interactive labs, nine solvers that show the work, a timed mock exam and spaced review of missed questions.
The math, game by game
- Guess the correlationPearson r of the exact 60 points drawn. Scored by absolute miss.
- Three doorsEvery game is played honestly: the host knows the car and opens a goat. Rates come from simulation, not a hard-coded 2/3.
- Can you fake a coin?Your 50 flips against 20,000 simulated fair sequences on runs, longest streak and heads; two-sided p-values at 2% each. A truly random sequence is flagged about 3% of the time.
- Serve mathHold probability in closed form, sets by exact recursion with a tiebreak at 6-6, checked against a 300,000-set Monte Carlo. Player buttons invert the model from real 2025 ATP hold rates.
- The house edgeExact pocket counts: −1/37 on a European wheel, −2/38 on an American one. Simulated over two million spins before shipping.
- Read the oddsImplied probability from American odds and contract prices, overround and fair odds, expected value per $100.
- Don't peekPooled two-proportion z-test after every simulated day. With no real difference, daily peeking flagged about 24% of tests versus about 5% for a single look.
- The long runArithmetic vs geometric mean on 98 years of real returns, then a bootstrap Monte Carlo of 2,000 futures. Parsed from the source and checked against its own growth column.
- Price an optionBlack-Scholes in closed form next to risk-neutral Monte Carlo with a 95% band. At 100/100, one year, 5%, σ 20%: $10.45 both ways.
Every probability model here was checked against a simulation before it shipped. One check caught a real bug in the tiebreak formula, which is why the checks stay.
Data
Access and privacy
Text meets WCAG 2.1 AA contrast in light and dark, every control is reachable by keyboard and at least 44 pixels to tap, and all motion stops when your device asks for reduced motion. There are no accounts and no cookies. Page visits and a few anonymous actions (a drill finished, a game played) are counted with Vercel Web Analytics, which stores nothing on your device. Your progress stays in this browser.