Front Office
How raw game logs become recaps, press conferences, and podcasts.
The methodology page covers how games are simulated and how AI managers make decisions. This page covers what happens after the game — how raw simulation data becomes the content you read on each game page.
From Game Log to Game Page
The simulation engine produces a raw JSON game log for every plate appearance, pitching change, and score change. A single game log runs 15,000–50,000 tokens — far too much noise for generating coherent narratives. A data extraction layer distills each game log into a structured ~2,000-token summary: scoring plays, pitching changes, key AI decisions (filtered by narrative interest — low confidence, controversial calls, fallback events), and MVP candidates (ranked by a composite batting/pitching score).
That summary, not the raw log, is what Claude sees when generating content. This keeps prompts focused and costs low.
Box Scores
Box scores are pure data transformation — no AI involved. The formatter reads the game log directly and produces markdown tables: linescore, batting lines (AB/R/H/2B/3B/HR/BB/K/RBI), pitching lines (IP/H/R/ER/BB/K/HR/PC/Dec), and W/L/S assignments. These are the ground truth that all other content is checked against.
Game Recaps
Claude Sonnet 4.6 generates 800–1,200 word game recaps from the structured summary. Each recap has a system prompt establishing the voice of a veteran AP wire service baseball writer. Inverted pyramid structure — lead with the result and the story of the game, then manager decision quotes, star performances, pitching breakdown, and series outlook.
Press Conferences
Claude generates two Q&A exchanges per manager, in character. The Optimizer quotes leverage indexes and pitch counts. The Skipper talks about feel and trust. Reporter questions specifically target low-confidence or controversial AI decisions from the game log — if the AI manager hesitated on a call at 62% confidence, the reporter asks about it.
Beat Writer Analysis
Claude generates 400–600 word opinionated columns. A different editorial voice from the recap — this writer second-guesses decisions, compares them to conventional baseball wisdom, and evaluates whether the AI managed the game better or worse than a human skipper would have.
Audio Podcasts
Game recaps are converted to TTS-ready scripts: strip markdown formatting, add intro/outro, and apply baseball-specific text normalizations (RBI → "R B I", ERA → "E R A", LAD → "the Dodgers", score dashes → "to", and dozens of similar rules). The scripts are then synthesized via ElevenLabs using the eleven_turbo_v2_5 model.
Series-Level Content
Previews are generated before the series — spoiler-free matchup analysis focusing on the Optimizer vs Skipper philosophy clash and rotation/lineup/bullpen matchups. Series recaps are generated after — full narrative arc identifying the turning point, series MVP, and how each managerial philosophy played out over the full series.
The Numbers
| Item | Cost | Details |
|---|---|---|
| World Series simulation | $1.56 | 7 games, 213 API calls |
| Content generation | $0.94 | 31 markdown files, 39 API calls |
| Audio podcasts | — | 7 MP3s via ElevenLabs plan |
| Total | ~$3 |
What's Real, What's Generated
Real data:
- Rosters — pulled from the MLB Stats API
- Player statistics — FanGraphs 2025 season actuals
- Game outcomes — simulation engine with seeded RNG (deterministic given the same seed and AI decisions)
AI-generated:
- Managerial decisions — Claude API calls during simulation (lineup, pitching changes)
- All written content — Claude after simulation (recaps, press conferences, analysis, previews, series recaps, model comparison)
- Audio — ElevenLabs text-to-speech from Claude-written scripts
- This website — built with Claude Code