Software Engineering Course Project
A real-time card game shipped end-to-end by a team of six.
This project was built as part of my Software Engineering course at FAMAF. We took a physical card game — Agatha's Death On The Cards — and turned it into a fully playable real-time browser game in two months. My role was a mix of PM and system designer: I led planning, defined the architecture, and kept the team unblocked while six people with different backgrounds worked in parallel.
The challenge wasn't technical — it was coordination. Six students, different skill levels, a hard deadline, and a game that required real-time multiplayer from day one. Without a clear system design upfront, the codebase would have become unmaintainable within weeks.
System design first
Before writing a line of code, I mapped out the full system: client-server communication via socket.io, a FastAPI backend with SQLAlchemy for game state persistence, and a React frontend. Every team member knew where their piece fit before they started.
Role assignment by strength
I matched each person to what they were best at rather than rotating arbitrarily. This reduced context-switching and let people go deep instead of wide.
Testing from the start
We set up react-testing-library, vitest, and pytest early. This wasn't optional — with multiplayer state, bugs compound fast. Tests gave us a safety net to refactor without fear.
We shipped a fully playable multiplayer card game on deadline. The system held up under concurrent sessions, and the codebase was clean enough that teammates could onboard to new areas with minimal friction.
Leading a team under academic pressure taught me that the most valuable thing a PM can do early is reduce ambiguity. A clear system diagram on day one saved us weeks of confusion later.
