Design & engineering / 2023 — 2024
PeerPlay
Watch together, even when you’re somewhere else.
PeerPlay is a shared video room. Play, pause, and seek events travel between viewers, alongside chat and presence. The project became a practical way to explore what “together” means when everyone has a different connection.
One playback position, reflected in both rooms. The live project sends these changes over WebSockets.
One room, several clocks.
Playback is shared state. A local action needs to reach the other viewers without causing a loop of echoed events. The player and socket layer coordinate those updates while keeping the controls responsive.
The social part matters.
Rooms include chat and a view of who is watching. Those small signals make the difference between playing the same file and feeling like you are watching with someone.
An experiment you can inspect.
The Next.js client and companion socket server are public. I also wrote about the broader challenges of collaborative systems: synchronization, conflicts, and the experience of unreliable networks.
Next.js / TypeScript / WebSockets / React Player
macOS Computer Use
Developer tools