← projectsCode Arena
// project — Code Arena

Code Arena

Because a university programming contest should feel like a live arena, not a static form.

Code Arena — captura
01// historia

Walking in Solo

Back in my first semester, I signed up for the university coding challenge without a team. I had only been in college for a month and had just completed an introductory Python course on Udemy. I barely solved one or two problems on LeetCode, but the format hooked me: earning points that let you unlock doors and advance through a maze.

02// historia

Second Place & Manual Scoring

By my third semester, I competed again—this time with a team. It was hosted remotely due to city transit disruptions, and we earned second place. Scoring the entire event was done by hand: teams emailed LeetCode screenshots and coordinators typed points into spreadsheets. The adrenaline of a live scoreboard was completely lost.

03// decision

Handing Over the Torch

A year later, the original student organizers graduated. Because of my leadership role in the IEEE Computer Society student branch, they asked me to run the event on very short notice. I decided we couldn't keep running tournaments on spreadsheets and screenshots.

04// aprendizaje

When Version 1 Crashed

I prototyped a first version with AI assistance featuring automatic evaluation and live team rankings. On contest day, the backend collapsed under concurrent submission loads. We had to scramble and improvise live with 25 people in the room to save the event. It was a rough day, but after three years connected to this contest, I refused to walk away.

05// arquitectura

Rebuilding with Sandbox & Real-Time

In my seventh semester, I re-architected the system from scratch. Before launch, I benchmarked it using AI agents acting as concurrent participants. I introduced a self-hosted Judge0 cluster in Docker to compile and evaluate Python, Java, C++, and JavaScript under strict memory and timeout boundaries.

To deter cheating with AI assistants, I engineered hidden DOM traps that contaminate copied prompts, alongside traceable SVG watermarks per team. Scores update instantly over WebSockets.

Judge0 Sandbox
evaluation
WebSockets / MQTT
real-time
Python · Java · C++ · JS
languages
Maze mode in Code Arena

↳ Interactive Maze mode: teams spend points earned from coding problems to unlock pathways toward the goal.

06// resultado

What the Main Screen Saw

In the next tournament, 10 teams of up to 3 contestants competed simultaneously. The auditorium screen projected the live reactive podium with zero latency glitches. Every submission was judged in seconds, and the maze became the centerpiece of the room.

Live podium in Code Arena

↳ Live leaderboard projected in the auditorium during the university tournament.

07// decision

Passing It Forward

The codebase is cleanly modularized and documented so future IEEE Computer Society leaders can host and extend Code Arena without relying on me once I graduate.

Built with:FastAPI, Next.js, Python, self-hosted Judge0, MQTT over WebSockets, MongoDB, and Docker.
next project
CryptEnv→

Because sharing API keys over chat is not a security strategy.