A realtime matchmaking engine for 1v1 games, built around two core pieces: the matchmaking queue and the elo rating system.

Players join the queue and get paired with an opponent of similar skill. Every match updates both players’ elo ratings, so the ratings converge towards their true skill over time and the matcher keeps finding evenly matched games. Built as a NestJs backend with a documented REST API (Swagger) and a React and TypeScript frontend.