Back to portfolio
socketxo

SocketXO

A browser-based real-time Tic-Tac-Toe web application demonstrating production-grade real-time system behavior.

SocketXO cover

Overview

What it does

SocketXO is a browser-based real-time Tic-Tac-Toe web application created to demonstrate production-grade real-time system behavior. Its primary focus is connection resilience, server-authoritative state management, and deterministic synchronization between connected clients.

The application provides frictionless matchmaking, secure room-scoped chat, an AI benchmark mode using a deterministic Minimax engine, and developer tools for simulating network failures. These features are designed to demonstrate reliable real-time multiplayer behavior.

The architecture follows a state-first, server-authoritative model where the backend acts as the single source of truth. Real-time communication is event-driven with Socket.io, persistent player identities enable reconnection, and the frontend reactively updates from server-broadcasted state.

Problem and solution

Problem

Real-time multiplayer applications must maintain synchronized game state and recover reliably from network interruptions without causing inconsistent client state.

Solution

SocketXO uses a server-authoritative architecture with deterministic state synchronization and a managed disconnect recovery mechanism that preserves sessions during temporary network loss.

Highlights

  • 01 30-second disconnect recovery handshake
  • 02 Server-authoritative game state validation
  • 03 Global matchmaking queue
  • 04 Room-scoped real-time chat with XSS sanitization
  • 05 Deterministic Minimax AI benchmark mode
  • 06 Developer controls for simulating lag and disconnects

Features

Disconnect Handshake

Holds a disconnected player's session for 30 seconds, notifies the opponent, and restores the game state when the player reconnects.

Server-Authoritative State Engine

Validates every move on the server, maintains synchronized game state, and rejects invalid actions.

Frictionless Matchmaking

Creates guest identities and pairs players through a global matchmaking queue.

Room-Scoped Chat

Provides in-game chat with XSS sanitization for secure communication.

AI Benchmark Mode

Includes a deterministic Minimax AI mode for testing game logic correctness.

Dev-Mode Chaos Controls

Provides hidden developer controls to simulate lag and disconnect scenarios.

Architecture

Frontend

Uses a reactive state synchronization approach where UI components update from server-broadcasted state.

Backend

Implements a state-first, server-authoritative architecture that validates game logic and maintains session state.

APIs

Real-time communication is event-driven through Socket.io with a shared event contract.

Auth

Players use persistent session-based identities with short-lived reconnection tokens for managed recovery.

Screenshots

Web

Swipe to view
Lobby
Game Board