N-STREAM

View on GitHub

The problem was simple: watch YouTube videos with someone remotely without manually coordinating play and pause over a call. Most workarounds break the moment one person seeks or pauses.

N-Stream uses rooms. Users join via a shared code, and every playback event (play, pause, seek) is broadcast over WebSocket using Socket.IO. The server holds the current video state, so users who join mid-session sync to the right position instead of starting from the beginning.

The frontend is built with Next.js and uses react-youtube to control the player programmatically. The separation between the player UI and the socket event layer keeps the sync logic clean and independent of how the video is displayed.

Next.js · Socket.IO · React · TypeScript