This service does not create games or players, but consumes data from both and produces ranked recommendations via API or event consumers.


🧩 Responsibilities

  1. Recommend games to players
  2. Recommend players to organizers
  3. Power “Nearby You”, “Players You May Like”, “Last-Minute Ring In” features
  4. Eventually support a real-time or background match push engine

📘 OpenAPI v1: MatchmakingService

Endpoints

GET /matchmaking/games
  Summary: Get recommended games for a player
  Auth: Required
  Params: skillTags, lat/lng, radius
  Response: List of Game summaries ranked by relevance

GET /matchmaking/players
  Summary: Get recommended players for organizer/game
  Auth: Required
  Params: gameId or lat/lng + skillTags
  Response: List of Player summaries

🎯 Scoring Algorithm (Initial Heuristic)

Factor Weight
Skill match (tags) High
Distance to location Medium
Reliability Score Medium
Recent participation activity Low
Player preferences (if configured) Optional

We’ll move to ML recommendations after instrumentation and behavioral data is available.


🔁 Dependencies