A web tool for creating balanced Magic: The Gathering Commander pods based on player power levels and preferences.
- Power Level Matching: Group players by deck power levels (1-10 scale)
- Pod Size Optimization: Choose between balanced pods or optimized pods that avoid groups of 5 players
- Flexible Grouping: Allow friends to stay together
- Keyboard Shortcuts: Quick power level selection with keyboard input
- Range Support: Select power level ranges (e.g., "7-9")
- Drag & Drop: Reorganize pods after generation
- Display Mode: Clean presentation view for showing results
- Real-time Validation: Duplicate name detection and error highlighting
Visit the live version at: https://mrtyton.github.io/Commander-Pods
GitHub Repository: https://github.com/MrTyton/Commander-Pods
- Node.js (for development and testing)
- npm
npm installnpm run deployThis will bundle all TypeScript files into a single script.js file for GitHub Pages.
npm test # Run all tests
npm run test:headed # Run tests with browser visible
npm run test:ui # Run tests with Playwright UI- Enable GitHub Pages in your repository settings
- Set source to "Deploy from a branch"
- Select branch "main" and folder "/ (root)"
- Run the build command before pushing:
npm run deploy
- Commit and push the generated
script.jsfile
The site will be available at https://[your-username].github.io/[repository-name]
├── index.html # Main HTML file
├── style.css # Styling
├── script.js # Bundled JavaScript (generated)
├── src/ # TypeScript source files
│ ├── main.ts # Entry point
│ ├── ui-manager.ts # UI interactions
│ ├── pod-generator.ts # Pod generation logic
│ └── ...
└── tests/ # Playwright tests
- Add Players: Enter player names and select their deck power levels
- Set Groups: Use dropdowns to group players who want to stay together
- Choose Leniency: Adjust power level matching tolerance
- Select Pod Optimization: Choose between "Balanced" (default) or "Avoid Pods of 5"
- Generate Pods: Create balanced groups of 3-4 players
- Manage Results: Drag and drop to adjust, or use Display Mode for presentation
The tool offers two pod generation strategies:
- Creates the most balanced distribution possible
- May create pods of 5 players when mathematically optimal
- Works well for all player counts
- Prioritizes pods of 3 players over pods of 5
- Only activates when you have 9+ players (mathematical requirement)
- Examples:
- 10 players: Creates [4,3,3] instead of [5,5]
- 11 players: Creates [4,4,3] instead of [5,3,3]
- 13 players: Creates [4,3,3,3] instead of [5,4,4]
Note: For fewer than 9 players, the tool automatically uses balanced optimization since avoiding pods of 5 isn't mathematically possible.
Found a bug or have a feature request? We'd love to hear from you!
- Report Issues: Submit a bug report on GitHub
- Feature Requests: Request a new feature on GitHub
- General Feedback: Use GitHub Issues for any suggestions or improvements
When reporting bugs, please include:
- Steps to reproduce the issue
- Browser and operating system
- Any error messages you see
- Fork the repository
- Make your changes in the TypeScript files under
src/ - Test your changes with
npm test - Build for production with
npm run deploy - Submit a pull request
If you find this tool useful and it helps improve your Commander pod pairings, consider supporting the development:
Your support helps keep this project maintained and allows for new features to be added!
This project is open source and available under the MIT License.