Skip to content
Live nowSeason 2 · Episode 15 · Agentic Coding Guide
← Back to builds
Screenshot of Crew View — a group watch/listen party that stays in sync

Crew View — a group watch/listen party that stays in sync

by ₥AN$A

★ 2.8 (6)

Voted by ₥AN$A, Air Planes, kaleb, rookepoole, Smiley “MakeShif”, Wil

Create or join a room with a shareable code, paste any direct video/audio URL (.mp4/.mp3/.webm), and it loads for the whole group at once. Play, pause, and seek on the HTML5 player are captured and broadcast over Socket.IO — the server holds authoritative room state (currentTime + playing, drift-corrected against wall-clock time) so a late joiner snaps to the live position instead of starting at 0:00. On top of sync there's a live chat panel and six one-tap emoji reactions that float up over the player like a stream overlay, so it feels like everyone's actually in the room together instead of watching alone on staggered timers.

Models
Claude Sonnet 5 (via Claude Code)
Cost
Single Claude Code session, one pass, no separate token/cost tracking on this plan.
Prompts & issues

Skipped the YouTube IFrame API on purpose — embed/auth restrictions would've eaten the whole build window — and synced a plain HTML5 <video> tag against direct media URLs instead, which was reliable to demo immediately. Biggest bug: remote state updates (play/pause/seek applied from the server) were re-triggering the same client-side listeners and re-broadcasting themselves right back out, a feedback loop. Fixed by flagging updates as "applying remote" and suppressing outbound events for ~150ms after any server-driven change. Also had to correct for clock drift: instead of trusting each client's local time, the server computes live position as last-known currentTime + elapsed time since it was last updated, so someone joining mid-playback lands within ~0.6s of the group instead of at the start.