JasonFlatford
Skip to content

Case study

Melee.gg — From zero to a global tournament platform

I led product and engineering for Melee.gg, a multi-tenant tournament & events platform used by stores, TOs, and publishers worldwide. We scaled the product, the codebase, and the community — delivering reliable event operations, rich analytics, and a polished player experience.

  • Global organizer adoption
  • Real-time round ops
  • Multi-tenant SaaS
  • Supports MTG & Star Wars: Unlimited

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.

Back to top ↑

Press Esc to close • ⌘K / Ctrl K to open