We build the one percent of digital products.
CodeSmash
Developers improve alone. They grind LeetCode in isolation, with no pressure, no opponent, and no real feedback on speed. CodeSmash changes the dynamic: it turns algorithmic practice into a live competitive sport with ranked matchmaking and split-second code evaluation.
Turning a coding exercise into a live competition means coordinating much more than two editors. Both participants need the same problem, a synchronized timer, authoritative game state, isolated code execution, scoring, and a result that resolves consistently even when a player disconnects.
The brief was to build that full competitive loop: invite-based challenges, participant and spectator roles, a browser-based editor, sample and hidden tests, live progress, aura ranking, leaderboards, profiles, and match history.
We mapped the competitive experience to four surfaces: the Lobby (find or create a battle), the Battle editor (the arena), the Leaderboard (the ladder), and Practice (solo mode with no clock). Each surface has a single job. The Lobby shows live battles in progress alongside open challenge requests:a user can join any open challenge or watch any live match.
The game lifecycle is owned by the backend, while Socket.IO keeps the lobby and battle room synchronized. Redis-backed BullMQ jobs coordinate timers, Judge0 executes code against test cases, and the aura system turns wins and losses into a visible competitive rank.
The battle only feels fair when the server owns the clock, the editor stays responsive, and every role sees the same game state.
The Battle view combines a Monaco editor, problem statement, test runner, opponent progress, and synchronized timer. Players can run code against sample cases before submitting against the full judge, while spectators receive live game updates without gaining participant controls.
The server manages game transitions, code execution requests, score resolution, and disconnect behavior. Rate limits protect run and submit endpoints; MongoDB stores users, games, problems, and feedback; Redis and BullMQ provide durable timer orchestration.
Better Auth handles account flows, while TanStack Query and Zustand keep API and battle state separated on the client. The result is a clear client/server architecture built around one demanding real-time interaction.
CodeSmash delivers the entire battle loop: challenge creation, joining, live participant and spectator sessions, code execution, submission, result resolution, aura scoring, leaderboards, profiles, and match history.
The project is strong evidence for real-time multiplayer products, browser-based developer tools, online judge systems, server-owned state machines, and gamified applications that span a rich frontend and an asynchronous backend.
A monthly dispatch on design, engineering and the craft of shipping. No fluff. Unsubscribe anytime.