Skip to main content
Back to Projects
V-Sync
In-progressNext.js 14 (App Router)TypeScriptClerk Auth+5 more

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-progress

Technology Stack

Next.js 14 (App Router)
TypeScript
Clerk Auth
Stream Video SDK
Convex Serverless
Monaco Editor
Tailwind CSS
Shadcn/UI

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.

Design & Developed by Ibrahim Abdullaziz

© 2026. All rights reserved.