Selected work
Online card game
A two-player online card game where an Angular client and C# backend stay in sync through real-time, event-driven communication.
Project walkthrough
Video coming soon
About the project
This project explores what it takes to keep two players in sync during a live card game. Moves can come from either side at any moment, so the architecture has to handle concurrent updates without corrupting shared game state.
The front end is an Angular application that reacts to server events as they arrive. The back end is a C# MVC service that owns the authoritative game state and broadcasts changes to connected clients. The interesting engineering challenge was not just wiring up a connection — it was designing message flow so both players always see a consistent board, even when events race.
Key features
- Two-player real-time card gameplay
- Event-driven, full-duplex client–server communication
- Authoritative game state on the C# MVC backend
- Responsive Angular UI that reacts to live updates
- Synchronized board state across both clients
What I built
- Built the Angular front-end and game UI
- Implemented the C# MVC backend and game state logic
- Designed the real-time messaging flow between clients
- Ensured consistent shared state under concurrent updates