TGP
Development
UX Design

KodOff

Real-time Competitive Programming Game

Role

Developer

Timeline

4 months (2023)

Tools

React, Express, MongoDB, WebSocket

KodOff

Overview

KodOff is a real-time 1-on-1 competitive programming platform where players race against each other to solve 3 programming challenges within 2 minutes. The project features live multiplayer functionality, real-time code execution, and an immersive gaming experience.

The Challenge

Building a real-time competitive coding platform required handling WebSocket connections, managing concurrent games, executing user code safely, and creating an engaging user experience with minimal latency.

The Solution

Developed a full-stack application with React frontend and Express backend, integrated WebSocket for real-time communication, implemented secure code execution, and deployed on Google Cloud Platform with PM2 and Docker for reliability.

Key Features

Real-Time Multiplayer

Live 1-on-1 matches with WebSocket communication, instant updates, and synchronized game state across clients.

🎮

Immersive Game Experience

Login/Sign Up, Home, In-Game interface, Leaderboard, and Match History with intuitive UI designed in Figma.

🔐

Secure Authentication

GitHub OAuth integration with secure communication protocols for smooth sign-up and user management.

📊

Live Leaderboard

Real-time ranking system that updates as players complete matches, showing wins, losses, and performance metrics.

💻

Code Execution Engine

Safe sandboxed environment for running user-submitted code with multiple language support.

🚀

Cloud Deployment

Deployed on Google Cloud Platform using PM2 for backend process management and Docker for frontend containerization.

Tech Stack

Frontend

ReactBootstrapFigma (Design)JavaScript

Backend

Node.jsExpress.jsRESTful APIsWebSocket

Database

MongoDBMongoose

Authentication

GitHub OAuthJWTSecure Protocols

Deployment

Google Cloud PlatformPM2Docker

Outcomes & Impact

< 100ms

Real-time latency

3

Team members

2min

Game duration

Key Learnings

WebSocket implementation for real-time bidirectional communication requires careful state management

Sandboxing user code execution is critical for security in competitive programming platforms

Docker containerization simplifies deployment and ensures consistent environments across development and production

Load balancing and process management with PM2 improves application reliability and uptime