
Also known as "Oh Hell", a trick-taking card game my family has played for years. I built this as a real-time multiplayer platform so we could play together remotely. Players create lobbies via shareable links and play against friends or AI opponents.
The frontend uses React with Socket.io for live game state updates, while the backend runs on Express with a generic game engine architecture. The engine is built around a ```GameEngine<TState, TMove, TConfig>``` interface. I've already implemented two card games (Oh Hell and Sevens) on top of it, and adding new games means implementing the interface, not changing infrastructure.
Features intelligent bot AI with hand-strength evaluation for bidding, server-side state filtering to prevent cheating (opponents' hands are hidden), reconnection handling with a grace period, and GSAP-animated step-by-step playback of bot moves. Dockerized with multi-stage builds and deployed on Railway.