Outcomes
Adoption & community
- Broad, global organizer adoption across retail stores, TOs, and circuits.
- Supported major titles including Magic: The Gathering and Star Wars: Unlimited.
- International rollouts with multi-language support where available.
Operational scale
- Peak-event concurrency across thousands of matches.
- Real-time pairings, results, standings, and announcements.
- Export pipelines for coverage, broadcast, and judges.
Business impact
- Payments via Stripe using tokenization; architecture designed to minimize PCI scope.
- Organizer revenue tools: ticketing, fees, affiliate campaigns.
- Data products: decklists, archetypes, and meta reporting.
Product overview
End-to-end tournament ops
- Registration & ticketing: waitlists, refunds, addons.
- Check-in: QR/ID, late registrations, seat assignments.
- Pairings & rounds: Swiss & round-robin helpers, manual overrides, byes, repairings.
- Results & penalties: scorekeeper and judge tools.
- Standings & cut: tiebreakers, breaks, and top-cut generation.
Content & analytics
- Decklists: parsing/translation, legality checks, archetype tagging, search.
- Meta reporting: pairings and conversion rates.
- Realtime dashboards: entries, turn-in status, round health.
Organizer workflows
- Scheduling: copy-event; multi-format support.
- Team tools: staff roles, judge accounts, permissions.
- Comms: email via SendGrid; SignalR announcements and table posting.
- Search & discovery: location & hub search with caching; async SignalR hub for queries.
- Payouts & policies: configurable policies; organizer reporting.
Player experience
- My Events: registration status, seat, and round history.
- Decklists: form helpers, legality validation, printable slips.
- Notifications: email & in-app messages; table announcements.
- Localization: language cookie + content translations where available.
Competitive integrity
Pairings
Swiss & round-robin helpers with tiebreakers and repair logic.
Decklists
Parser, translation, naming, modification history, and archetype tagging.
Standings
Microservice calculates standings; exports for coverage and broadcast.
Growth & collaborations
- Strategic campaigns and community initiatives to drive organizer adoption.
- Supported events and promotions with Wizards of the Coast and Fantasy Flight Games.
- Backed circuits and high-profile events; exports tailored for media/broadcast.
Architecture (selected)
Core services
- ASP.NET MVC (.NET/C#): controllers for account, tournaments, decklists, and publisher-specific endpoints.
- SignalR hubs: real-time search and tournament messaging.
- NHibernate + MariaDB: typed models and read-only views for metrics/analytics.
- Caching: Redis-style hot lookups and cached searches.
- Email via SendGrid: account & operations messaging.
- Stripe payments: tokenized payments; policy-driven refunds and fees.
Microservices
- Standings, Jobs, Format — deployed behind clean client wrappers.
- Background work for heavy calculations and report generation.
Scale, reliability & security
Reliability
- Graceful failure paths; retries and queued jobs for spikes.
- Audit logging, structured error handling, and admin tools.
Performance
- Server-push for pairings/results; cached searches and views.
- Binary and CSV/JSON exports tuned for broadcast speed.
Security
- Role-based authorization; anti-forgery tokens.
- Tokenized payments via Stripe; architecture designed to keep PCI scope small.
What I learned
- Ops empathy wins: judge and TO pain points drive retention.
- SSOT for rules/math: pairing/standing logic in pure utilities is easier to test and evolve.
- Exports are product: coverage/broadcast flows are time-critical; build them like features.
- Privacy & payments: scope PCI, log sparingly, and automate audits.
- Real-time with restraint: push what matters (pairings/messages), cache the rest.
Let’s connect
I’m available to discuss Melee.gg at a high level — my role, product approach, and what’s publicly available — without going into sensitive implementation details.
All trademarks and brands are the property of their respective owners. Names are used for identification only and do not imply endorsement.