Tagline: Compete. Collaborate. Code.
Users match in real-time for head-to-head coding duels or team practice, solve LeetCode-style problems in a shared editor, and earn ratings, achievements, and AI feedback summaries.
- Supabase Auth (email/GitHub/Google)
- Profile includes: languages, rank (ELO), preferred topics, bio
- Users join a queue by topic + difficulty
- FastAPI backend pairs players of similar rank
- Socket.IO notifies both to join a session room
- Shared code editor (Monaco)
- Problem prompt on the side (from your problem DB or LeetCode API)
- Timer + “Run” button that checks solution via backend sandbox (e.g., Judge0 API)
- Chat panel
- Win = +25 ELO, Loss = −15 ELO, Draw = −5
- Leaderboard by week + all-time
- After each match, GPT summary of each player’s code efficiency and missed edge cases
Frontend: Next.js (App Router) + Tailwind + Socket.IO client + Monaco Editor
Backend: FastAPI + Socket.IO server + Redis (queue/match state) + PostgreSQL (Supabase)
Judge: Judge0 API for code execution sandbox
AI: OpenAI API for post-match summaries
Deployment: Vercel (frontend) + Render/Fly.io (backend) + Railway (Redis)
| Table | Fields |
|---|---|
| users | id, name, email, rating, languages[], topics[], avatar |
| matches | id, user1_id, user2_id, problem_id, winner_id, duration, created_at |
| problems | id, title, difficulty, topic, description, testcases |
| submissions | id, match_id, user_id, code, language, result, runtime, timestamp |
- Auth + profile pages
- Matchmaking API + queue
- Basic problem model + test set
- Real-time duel room (Socket.IO)
- Integrate Judge0 for submissions
- Score updates & ELO system
- Leaderboards + AI feedback summary
- Session history + deployment polish
- (Optional: friends list + custom lobbies)
- Designed and deployed PeerPrep Arena, a real-time competitive coding platform using Next.js, FastAPI, Redis, and Socket.IO to match 100+ concurrent users by topic and rating.
- Integrated the Judge0 API to execute code securely across multiple languages and implemented an ELO-based ranking system for 1-v-1 LeetCode-style matches.
- Built post-match GPT feedback summaries analyzing time complexity, edge-case coverage, and personalized improvement tips.