← Back to work

SyncHub

Full-stack video-conferencing platform built from scratch on native WebRTC + mediasoup — no third-party media SDKs.

Category
Next.js
Stack
Next.js, WebRTC, mediasoup, Node.js, PostgreSQL
Code
GitHub ↗
Live
Visit ↗
SyncHub

Overview

SyncHub is a full-stack, real-time video-conferencing platform built from scratch on native WebRTC and mediasoup — no third-party media SDKs. One-to-one calls run peer-to-peer; group calls scale through a mediasoup Selective Forwarding Unit. Owning the media pipeline end to end unlocks capabilities off-the-shelf SDKs can't: end-to-end-encrypted messaging, fully local recording, in-browser virtual backgrounds, and AI meeting intelligence.

Media pipeline

1:1 calls relay SDP and ICE through a custom WebSocket server with media flowing directly between peers (STUN/TURN fallback for NAT traversal); group calls of 10+ produce to a mediasoup SFU that forwards RTP without transcoding. Adaptive quality, screen sharing, and ICE candidate-pool optimization.

Local recording & P2P transfer

All participant streams are composited onto one canvas grid, audio mixed via AudioContext, and captured with MediaRecorder as a single WebM — then sent peer-to-peer over RTCDataChannel in 64 KB chunks with backpressure handling. Zero server involvement: no upload endpoints, no cloud storage, no transcoding.

AI meeting intelligence

Google Gemini powers one-click summaries, structured action-item extraction (assignee, due date, confidence), live smart-reply suggestions, and RAG-powered Q&A across full meeting history with citations.

Security & auth

ECDH key exchange with AES-256-GCM for end-to-end-encrypted messaging via the Web Crypto API; JWT access/refresh rotation in httpOnly cookies; Google and Discord OAuth plus email/password with bcrypt and SMTP OTP; multi-tier rate limiting and Helmet headers.

Built with

  • Next.js
  • WebRTC
  • mediasoup
  • Node.js
  • PostgreSQL