Tournament metagame analysis for competitive Magic: The Gathering.
- Matchup matrices — win rates between deck archetypes with color-coded cells and tooltips
- Metagame scatter plots — archetype share vs. win rate visualization
- Tournament browser — standings, round-by-round results, and decklists
- Archetype classification — signature-card rules with KNN fallback for unmatched decks
- Export — save matchup matrices as images
MTG Meta Analyzer will never be monetized, paywalled, or gated behind a subscription. Metagame data belongs to the community that generates it — from the first-time FNM player looking up matchups to the seasoned grinder tuning a sideboard. All data and source code are freely available under open licenses.
Prerequisites: Bun
bun install # install dependencies
bun run dev # start dev server at http://localhost:5173
bun run build # production build (static site)
bun run preview # preview the production buildbun vitest run # all tests
bun vitest run tests/unit # unit tests only
bun run test:e2e # Playwright end-to-end testsFetch a tournament from melee.gg by ID or URL:
bun run scripts/fetch-tournament.ts <tournament-id-or-url>
bun run scripts/fetch-tournament.ts 72980 --dry-run # preview without writingTournament JSON files are saved to data/tournaments/ and loaded at build time.
- SvelteKit 5 with Svelte runes and static adapter
- TypeScript
- Chart.js for visualizations
- Vitest + @testing-library/svelte + Playwright
Found a bug or have feedback? Open an issue on GitHub. Contributions are welcome — whether it's reporting data issues, improving classification rules, or anything else.
Dual-licensed:
- Code (source files, build config, scripts) — MIT
- Content (analysis, archetype classification, site design) — CC BY 4.0
Tournament data sourced from melee.gg. Card data and images from Scryfall. Magic: The Gathering is property of Wizards of the Coast — this project is not affiliated with or endorsed by WotC.