
V-Sync
Remote technical interview platform that eliminates tool context-switching. Interviewers and candidates co-write code in real time via Monaco Editor, connect over HD video through Stream SDK (WebRTC), and sync state instantly with Convex serverless backend. Built a WCAG-compliant, dark-mode interface with Shadcn/Radix achieving Core Web Vitals scores of LCP < 2.5s and FID < 100ms.
Timeline
January 2025 – March 2025
Role
Lead Developer
Status
In-progressTechnology Stack
Key Challenges
- Synchronizing Monaco Editor state across multiple users without conflicts required implementing operational transform logic through Convex mutations.
- Managing WebRTC connection lifecycle (ICE candidates, TURN fallback) while keeping the UI responsive during network fluctuations.
- Designing resizable split-pane layouts that work across screen sizes while maintaining video aspect ratios.
Key Learnings
- Convex reactive queries eliminate the need for manual cache invalidation — data updates propagate automatically to all connected clients.
- Pre-flight device testing reduces interview no-shows caused by last-minute technical issues by catching problems before the session starts.
- Serverless architectures significantly reduce DevOps overhead for real-time applications but require careful thinking about data modeling.
The Problem
Existing video interview tools force engineers to switch between 3+ apps during live technical interviews — a video call app, a separate code editor, and a note-taking tool. This context-switching wastes time, breaks focus, and creates a fragmented experience for both interviewers and candidates.
Technical Decisions
Real-Time Code Collaboration: I integrated Monaco Editor (the engine behind VS Code) to provide a familiar coding environment. Code changes sync in real time across all participants using Convex's reactive data layer — no polling, no WebSocket boilerplate.
Video Infrastructure: Stream Video SDK handles HD video/audio over WebRTC, supporting both peer-to-peer and group interview sessions. I implemented pre-flight device testing so candidates can verify their camera and microphone before the interview starts.
Serverless Architecture: Convex replaces the traditional REST API + database stack. It provides real-time data sync and event-driven server functions, which eliminated the need for managing WebSocket servers or database connections.
Authentication: Clerk handles multi-provider auth with session management, allowing interviewers to create secure, invite-only interview rooms.
Accessible UI: Built with Shadcn/Radix component primitives, ensuring WCAG compliance. The interface includes dark mode support, resizable split-pane layouts, and keyboard navigation throughout.
The Outcome
Reduced tool context-switching to zero during live technical interview sessions. Interviewers and candidates stay in a single tab with live code editing, HD video, and assessment tools. The app achieves Core Web Vitals scores of LCP < 2.5s and FID < 100ms, with code splitting and lazy loading keeping the initial bundle lean.