Inspiration
Studying for coding interviews can be stressful, repetitive, and sometimes even lonely. Many people spend hours practicing problems by themselves, and it’s easy to lose motivation. We wanted to make coding practice fun, social, and a little competitive, so it feels more like a game than a chore. The idea was simple: if gaming motivates people to compete, why not turn coding into a competitive sport too?
What it does
LeetCode Battles lets you challenge friends to real-time 1v1 coding duels, where the first to solve the problem wins. You can track your progress, climb ranks from Bronze all the way to Grandmaster, and see how you compare on global leaderboards. Beyond just duels, users can customize their profiles, choose avatars, display skills, and set goals — making practice more personal and engaging. It’s a way to practice coding, compete with friends, and have fun doing it.
How we built it
We built the frontend with React 18 and Tailwind CSS to make a clean, modern, and responsive interface. Real-time battles are powered by Socket.io, which keeps both players’ screens synced and updates rankings instantly. Authentication is handled with JWT and options for Google or email login. On the backend, Node.js with Express manages the server and WebSocket connections.
We also planned features to make coding duels even better: Judge0 API for live code execution and Monaco Editor for an in-browser coding interface. These tools make it feel like a real coding challenge, rather than just submitting answers.
Challenges we ran into
Building real-time duels was harder than we expected. We had to make sure both players were seeing the same problem at the same time, handle fast socket connections, and prevent cheating or desyncs. Designing a fair ranking system and leaderboards also required careful planning. Balancing a responsive UI with secure authentication was another tricky part — we wanted it to feel seamless, but also safe.
Accomplishments that we're proud of
We created a platform where coding practice actually feels fun and competitive. Real-time duels work smoothly, the ranking system motivates players to improve, and the UI is clean and intuitive. We now have a strong foundation to add more features, like multi-player battles, custom problem sets, and more gamified elements. Most importantly, we built something that can make coding practice less stressful and more social, which was our main goal from the start.
What's next for CodeClash
We’re just getting started. Next, we want to: Add live code execution with Judge0, so players can write and run code directly in the browser during duels. Integrate Monaco Editor for a richer, more professional coding interface. Expand game modes, including multi-player battles, tournaments, and themed challenges. Improve social features, like friend lists, achievements, and customizable profiles.\ Enhance analytics and feedback, giving players insights into their strengths, weaknesses, and progress over time. Our ultimate goal is to make coding practice fun, competitive, and social, so people look forward to practicing every day — whether they’re preparing for interviews or just improving their skills.
Built With
- javascript
- python
- react
- tailwindcss



Log in or sign up for Devpost to join the conversation.