ONE PERCENT

We build the one percent of digital products.

0%
WorkServicesAboutInsightsProcess Estimate Get an Estimate
All work

CodeSmash

SaaSWeb

Real-time 1v1 coding battles. The fastest way to get sharper, faster.

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.

Year 2024
Services Full-Stack Web, Real-time Systems
Duration Product build
Team Full-stack
CodeSmash live 1v1 battle editor
1v1 Live competitive battles
3 Player, host, and spectator roles
RT Socket-synced game state
01 / Challenge

Grinding solo teaches you code. Competing teaches you to think.

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.

02 / Approach

Four surfaces. One tight loop.

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.

CodeSmash lobby with live battles and open challenges

The battle only feels fair when the server owns the clock, the editor stays responsive, and every role sees the same game state.

System principle Authoritative state, real-time feedback
03 / Solution

A split-screen arena that makes latency disappear.

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.

04 / Outcome

A complete competitive coding system.

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.

Next project

MenuMatch

MenuMatch

Every restaurant menu, owned

View case study