

Live Interview Platform
Visit Live SiteA full-stack collaborative live coding interview platform with real-time execution.
Next.jsSocket.IORedisBullMQPostgreSQLDocker
Overview
Built a full-stack live coding interview platform where an interviewer and candidate can join a shared room, collaborate on code in real time, and run code during the session. The platform handles authentication, room lifecycle, participant validation, synchronized editor updates, and async code execution with result broadcasting.
Core Architecture
- FrontendNext.js, React, TypeScript, Axios, Zustand, Tailwind (Deployed on Vercel)
- BackendNode.js, Express, TypeScript, Socket.IO (Dockerized, Deployed on Render)
- DatabasePrisma ORM + PostgreSQL (Neon)
- Queue & RealtimeRedis (Upstash) for pub/sub + BullMQ for async code execution jobs
Key Features
- User auth with JWT access/refresh tokens and cookie parsing.
- Socket connection that validates participants and joins room channels securely.
- Instant synchronization of code editor changes across all room members via Socket.IO.
- Asynchronous 'run code' execution pushed to a BullMQ queue, keeping API non-blocking.
- Worker consumption of queued jobs, communicating with Judge0 execution service, and returning results via Redis pub/sub.
Challenges Solved
- Real-time State Synchronization: Implementing low-latency, conflict-free synchronization of the code editor state between multiple users despite varying network speeds.
- Asynchronous Execution Sandboxing: Designing a secure, non-blocking pipeline using BullMQ to safely execute unverified user code without jeopardizing system integrity or blocking the main API thread.
- Connection Resilience & State Recovery: Building robust reconnection mechanisms to ensure that if a candidate's network drops, their session state, code, and room presence are perfectly restored upon reconnect.
- Scalable Pub/Sub Infrastructure: Structuring the Redis pub/sub channels effectively so that execution results and chat messages are broadcasted flawlessly across distributed instances.
Outcome & Impact
Successfully delivered a production-style real-time interview system featuring highly scalable async execution. The project demonstrates advanced system design, realtime architecture, queue-based processing, containerized deployment, and full-stack debugging ownership.