Browser-based baseball franchise dynasty simulation. Build a front office, make baseball decisions, and watch a deterministic league history unfold across seasons.
Play: kevinbigham.github.io/MBD
- A single-player franchise sim about roster building, player development, payroll pressure, scouting, trades, drafts, free agency, playoffs, and long-term consequences.
- A deterministic save-driven simulation: the same seed and same decisions produce the same league.
- A dynasty history machine: records, awards, rivalries, story reels, career retrospectives, and franchise memory accumulate over time.
- A local-first browser game using IndexedDB saves and a web-worker sim engine.
- Not an MLB-licensed product.
- Not fantasy sports, betting, packs, loot boxes, or pay-to-win.
- Not a twitch game. Most value comes from planning, simming, reading the league, and making tradeoffs.
- Not a finished forever-game. v1.0.0 is the first stable public milestone.
- Open the live URL.
- Start a new dynasty from the Save Hub.
- Pick a club, choose Quick Start or Full Day One, and enter the front office.
- Advance by day, week, or month.
- Use the dashboard, roster, minors, draft, trade, finance, scouting, league, history, and press-room views to steer the franchise.
- Follow the dynasty through seasons: standings, playoff races, player arcs, awards, records, and owner pressure all compound.
TypeScript strict mode, React 18, Vite 6, Tailwind CSS, Zustand, Dexie, Comlink web workers, pure-rand, Zod contracts, Vitest, pnpm, and Turbo.
Active code lives in mr-baseball-dynasty/.
npx pnpm install
npx pnpm verifyFocused gates used before release:
cd packages/sim-core && npx pnpm typecheck && npx vitest run
cd ../contracts && npx pnpm typecheck && npx vitest run
cd ../../apps/web && npx pnpm typecheck && npx vitest run && npx vite buildDo not touch save schema without a version bump, migration, backwards-compat note, and fixture. Do not use Math.random() in sim code.
Private project. All rights reserved.
Built by Kevin Bigham with AI-assisted implementation across Codex and Claude Code sessions.



