Building Deathmatch from scratch
I built the Deathmatch backend from scratch. It used around 100 AWS Lambda functions, three APIs and event-driven workflows with SQS, EventBridge, OpenSearch and a single DynamoDB table.
The backend handled matchmaking, progression, rewards and leaderboards. I worked with the game team as the rules evolved, while also building idempotency, caching, analytics and operational tooling.
When cold starts affected players
Some of the games ran their game logic on the backend and synchronised the results to clients. Lambda cold starts delayed that work, so startup performance directly affected the people playing. We had to investigate what was slowing the backend down.
I upgraded the backend to .NET 9 and removed AutoMapper as part of that investigation. Those changes reduced Lambda cold starts, addressing a source of delay in the backend that the games depended on.
Gauntlet
I also built and operated the Gauntlet backend, owning it from the first line of code until the project moved to GameLift servers.