HA
21 Feb 2025 Case Study

Word Battle

A real-time multiplayer vocabulary game built with WebSockets to improve retention inside the wider learning product.

WebSocketsReact NativeNext.jsReal-time

Problem it solved

Vocabulary practice was useful, but static drills did not create enough engagement for repeat usage. The product needed a mechanic that felt live, social, and fast enough to keep students returning between longer exam sessions.

What I built

I built Word Battle, a real-time multiplayer vocabulary game that sat naturally inside the AfterBoards ecosystem. Players could enter live sessions, receive synchronized prompts, and compete in short rounds without leaving the main product experience.

Technical decisions made

WebSocket-first session model

The interaction model depended on low-latency updates, so the architecture was built around WebSockets rather than periodic polling. That kept turn updates responsive and reduced unnecessary client churn.

Shared product identity

Instead of treating the game as a separate product, I connected it to the existing auth and user model. That meant leaderboards, access control, and profile continuity stayed consistent across the platform.

Lightweight state over complicated matchmaking

The system focused on reliable room state, turn progression, and reconnection handling. I deliberately kept matchmaking simple because the product value came from responsiveness and clarity, not algorithmic complexity.

Outcome and metrics

  • Added a retention-oriented gameplay loop inside the learning product
  • Proved that real-time features could fit cleanly into the existing stack
  • Created a reusable foundation for future synchronous learning mechanics

Tech stack used

  • Next.js
  • React Native
  • TypeScript
  • WebSockets
  • Redis