← Selected work

03 / Real-time / Multiplayer

ShotCaller

A multiplayer strategy platform combining a server-authoritative game engine, persistent state, and private real-time voice communication.

August 2026 – PresentIndependent software engineeringInspect public code ↘

Simultaneous decisions. One authoritative state.

Architecture sketch

Many decisions. One source of truth.

Player actions → Server resolution → Persistent state. Simplified explanatory diagram, not a product screenshot.

01 / The problem

Players act at the same time, deadlines still matter, and conflicting actions need a consistent outcome. Voice communication adds another boundary: who can hear whom must follow the game state.

02 / What I built

I built the platform from the ground up: deterministic state resolution, action conflict handling, deadlines, persistence, authentication, sessions, administration, security controls, and game lifecycle management.

03 / Engineering decisions

The server owns the result.

A server-authoritative engine resolves simultaneous actions into a deterministic state, with conflict handling and persistent game state.

Voice is a permission, not just a connection.

Private WebRTC / TURN communication uses state-based permissions, signaling controls, and privacy boundaries.

Test the conversation between browsers.

Automated Playwright scenarios exercise real multiplayer flows and real-time communication behavior across multiple browser sessions.

04 / Inspect the engineering

Here’s what
you can open.

Public engine reference, not the complete game platform. The voice, authentication, and deployment systems described above belong to the wider project.

shotcaller-engine
What the public reference demonstrates
  • Deterministic simultaneous-turn rules, deadlines, SQLite transactions, optimistic versions, and idempotent command handling.
  • Hashed seat capabilities, explicit player-view allowlists, and a restart/recovery demonstration.

The public reference excludes the full game UI, user-account system, WebRTC / TURN infrastructure, and production operations. Those wider-project claims come from my CV.

The repository README describes its scope and limitations. Production claims and public reference-code behavior are intentionally kept separate.