Useeum audio sync · proof of concept

Open the player on one phone and the phone page on another. Hold them side by side: the counters, the flash and the beep should line up.

1 · Video player

The museum screen. Plays the video and pushes its state to the relay.

/player?room=demo /player?room=demo&transport=post

Second link: same player, but it talks to the relay with one HTTP POST per second instead of a WebSocket. No sync ping needed.

2 · Phone

The guest's phone. Maps its clock to the relay and follows the timeline. Open on as many phones as you like.

/phone?room=demo
Video player <-- outbound WSS --> Relay (Cloudflare Durable Object) <-- WSS --> Phones clock sync + playback state clock sync + playback state

This runs the relay topology (Alternative A): the player only makes an outbound connection, phones connect to one stable endpoint on any network.