This project consists of a client and a server application, which together make it possible to watch any Youtube video in synchronicity across multiple devices. When the user of one device plays, pauses or forwards the video this action will also happen on all the other connected devices.

The frontend is built using React (create-react-app) and Redux (to manage it’s state). It communicates with the Node.js backend side of the application through websockets. Through the use of websockets, the backend can easily broadcast the actions (play, pause, forward) of one user to all other connected users without the need for each user to refresh the page. This communication between users and the server keeps the videoplayer of all users in a group in sync.

Try the live demo!