Back to Portfolio

DelPlayer - Remote Watch Party Platform

A lightweight, privacy-focused tool for watching movies together remotely with perfect sync.

Client: Personal / Open Source Year: 2025 Duration: 2 weeks

Technologies Used

Node.jsWebSockets (ws)Vanilla JavaScriptTailwind CSSYouTube IFrame APIDocker

Challenge

Existing watch-party tools often require browser extensions, account registration, or uploading video files to a central server (consuming massive bandwidth). I wanted a friction-less solution that works directly in the browser, supports local files without uploading them, and handles YouTube links seamlessly.

Solution

I built a Node.js server using pure WebSockets for lightweight signaling. The architecture separates "control signals" from "media data". When users watch a local file, the video never leaves their device; only play/pause/seek events are transmitted via WebSocket. I implemented a robust frontend state machine that handles synchronization for both HTML5 Video (local/URL) and YouTube (via IFrame API), including a smart "heartbeat" mechanism to detect peer disconnections and a reconnection strategy with exponential backoff.

Key Features

  • Real-time Video Sync
  • Local File Support
  • YouTube Integration
  • Live Chat System

Project Process

Phase 1: Signaling Server

Developing the Node.js WebSocket server with rate limiting and connection pooling.

Phase 2: Frontend Core

Implementing the HTML5 video player and local file reading logic (Blob URLs).

Phase 3: Sync Logic

Creating the event listeners for Play/Pause/Seek and handling network latency.

Phase 4: YouTube & Polish

Integrating YouTube API, adding chat features, and styling with Tailwind.

Results

<50ms Sync Latency
0% Server Bandwidth (P2P logic)
100% Privacy (No Video Upload)

Screenshots

Landing & Pairing Landing & Pairing
Synced Player & Chat Synced Player & Chat
Features & Shortcuts Features & Shortcuts

Have a similar project?

Let's discuss your product strategy and execution.

Request Free Consultation