PlaneswalkerHub Tracker is the Discord bot powering the competitive side of planeswalkerhub.com — a community hub for Magic: The Gathering Commander players. It brings structured game logging and analytics directly into Discord, where MTG groups already hang out.
Players register completed Commander games with up to 5 participants, choosing their commanders via MeiliSearch-powered autocomplete. The bot tracks win rates, average positions, commander performance, and head-to-head matchups — all scoped per Discord server so each community has its own private leaderboard.
Use Cases
📊
Track your meta
See which commanders dominate your local playgroup and who has the best win rate.
⚔️
Head-to-head
Compare two players' performance directly against each other across all recorded games.
📜
Game history
Browse past games with pagination — filter by player or guest to review specific histories.
🏆
Competitive leagues
Maintain an ongoing record across seasons; position-based ranking supports pods of 3 to 5.
Commands
/register — log a finished Commander game with up to 5 players and their commanders (autocomplete powered by MeiliSearch)
/stats player — view win rates, average finishing position, and breakdown by pod size (3p/4p/5p)
/stats commander — see how each commander performs across all logged games
/h2h @player1 @player2 — paginated head-to-head matchup comparison between two players
/history — browse recent games with optional filters by player or guest name
/ping — health check to verify the bot is online
Architecture
All game data stored in Supabase (Postgres) with server-scoped isolation — each Discord guild sees only its own data
Commander card search powered by MeiliSearch for instant, typo-tolerant autocomplete in slash command options
Position-based results stored per game (1st through 5th) to support flexible stat queries
Guest player support alongside Discord user tagging — non-Discord friends can be tracked by name
Containerised with Docker for reproducible deployment; CI/CD via GitHub Actions