Player 2
Ahnaf An Nafee / December 01, 2022
react-native
expo
react
typescript
next.js
java
spring-boot
postgresql
aws
docker
ci-cd
android
ios
An AI-assisted matchmaking and social platform for gamers that I revamped, shipped across app stores, and now operate and scale.

Overview
Player 2 is an AI-assisted matchmaking and social platform for gamers across PC, console, and mobile. Instead of pairing people by rank, it matches on personality and playstyle from a short in-app survey, and it only suggests games players actually own. As the engineer behind its current release, I revamped Player 2 end to end at Dynasty 11 Studios, shipped it across the App Store and Play Store, and now operate and scale the entire technical stack, from the backend and the apps down to the infrastructure and the app store presence.
What I Built
Player 2 spans eight repositories and every layer of the stack:
- Mobile app in Expo and React Native, shipping in four languages with full right-to-left support for Arabic, released through EAS with over-the-air patch updates.
- Web client as a TanStack Start app on a single Cloudflare Worker, serving both the marketing site and a browser version of the product.
- Backend in Spring Boot 4 and Java 25, built as a modular monolith on PostgreSQL 17, with real-time chat and presence over STOMP WebSockets and Redis.
- Infrastructure self-hosted on Hetzner and Coolify, with Terraform, Grafana Cloud, and OpenTelemetry for provisioning and observability, all behind Cloudflare.
- Supporting services including an admin console, a self-built deep-link service that replaced a paid vendor, and the full marketing and app store optimization workstream.
Highlights
- Personality-based matchmaking using cosine and game-library similarity with a diversity re-rank.
- A transparent, two-stage recommendation feed that learns from seen, tap, and dismiss signals.
- Self-hosted replacements for paid platform, deep-link, and monitoring services.
- App store optimization with listings localized into nine languages and a repeatable Figma screenshot pipeline.
Full Write-Up
I broke down the whole effort across infrastructure, product, and marketing in a dedicated post: Revamping and Scaling Player 2.
Press
Screenshots





