L / 03Open lab

SyncTube Sync

Synced YouTube watch rooms with creator channels and live chat.

WebSocketsRealtimeDocker

"Watching together, but the people you'd watch with are scattered. So bring the room to them."

IOverview

Why it exists.

I built SyncTube for the basic problem of watching the same video with friends across cities. Pause the video; everyone pauses. Skip ahead; everyone skips. Frame-accurate, two devices or more, no manual coordination.

The platform around it grew because that base capability needed a context. SyncTube has channels (you create one), genre-based events (you schedule and publish them), an event feed for upcoming drops, and watch rooms with chat that open when the audience arrives. Subscribers and a creator pulse round it out into something more than a sync utility.

Sync is WebSocket-coordinated — every state change (play, pause, scrub) broadcasts to the room and reconciles late joiners. Built React on the front, Node on the back, deployed in a Docker container on Render.

IIWhat it does

The surface.

01

Channel creation with genre-based events

Schedule drops, build an audience around a genre or theme.

02

Synced multi-device YouTube playback

Frame-accurate across separate browsers. Late joiners reconcile to the room's current state.

03

Live event feed

Upcoming drops surface to followers. The home screen makes scheduled events easy to find.

04

Watch rooms with real-time chat

Opens when the audience arrives. Conversation belongs alongside the video, not somewhere else.

05

Subscriptions and creator pulse

Channel followers, alerts, and activity stats so creators see the audience they're building.

IIIThe stack

Under the hood.

Frontend
React
Backend
Node.js
Realtime
WebSockets
Deploy
RenderDocker