Published in Apr 2025
Tech Used

The Brief
A school team project — a multiplayer ping pong game where players can challenge friends to a match. • Developed the friendship management system, enabling users to connect and interact. • Set up a monitoring system using Prometheus and Grafana for performance tracking and analytics.
The Project
Pongiverse was a school team project — a multiplayer ping pong game where players could challenge friends to a match in real time. The goal was to build something functional, deployed, and monitored end to end.
What I Built
I owned the friendship management system: the logic that lets users connect with each other, send match invitations, and track their opponents. It sounds simple until you start thinking about real-time state — a friend going offline, a match invite expiring, a connection dropping mid-game. Getting that right with WebSockets required careful coordination with the game state on the backend.
Monitoring
One of the more interesting parts of this project was setting up observability. I configured Prometheus to scrape metrics from the Django backend and built a Grafana dashboard to visualise them — request rates, active connections, response times. It was my first time wiring up a proper monitoring stack from scratch, and it changed how I think about production readiness.
Stack
React on the frontend, Django on the backend, the whole thing containerised with Docker and deployed on Render (backend) and Vercel (frontend). Docker Compose handled local development — one command to spin up the entire environment.
What I Took From It
Team projects surface coordination problems that solo work never does. Agreeing on API contracts, handling merge conflicts in shared components, not stepping on each other's logic — all of that was as much of the work as the code itself. The monitoring setup also stuck with me. I'd do it earlier next time.
