Phone sync demo

One phone listens to the room and broadcasts where the Genesis 12:10-20 video is. A window on the desktop plays the same video and follows. Three pieces.
1. The video (the room's copy) The Genesis 12:10-20 passage render, its own voice and bed, 100.5 seconds, with a timecode band (mm:ss.ff at 30 fps, the frame number, a square that blinks on each second) burned over the picture so the position can be read. The audio is the passage's own track, untouched.
Open the video with the timecode band The plain passage render (same audio)
Both play from the study's media bucket and seek. Right-click and save to drop one into PowerPoint or a media player; the phone locks to either.
2. The phone page (the listener) Open on the phone, tap Start listening, allow the microphone once, keep the screen on. It knows every produced passage (the video lane's manifest), shows which one it hears and where, the lock state, the confidence, the match delay and the round trip. Once locked it also speaks on that passage's own study channel, the one the passage file's QR carries, in the study's presenter shape, so a phone that scans the QR in the projected video lands on the study's join page and follows this phone with no extra step.
Open the phone page
3. The receiver (the desktop window) Open on the desktop beside the room's copy, press Start following the phone. It plays the same video and keeps it where the phone says the room's copy is (muted, so the room hears one copy), with the phone's position as a big timecode, the drift, the age of the last message and the round trip.
Open the receiver
Usage
  1. Desktop: open the video with the timecode band in one window (the room's copy, sound up) and the receiver in another window beside it; press Start following the phone on the receiver. Do not play the room's copy yet.
  2. Phone: open the phone page, tap Start listening, allow the microphone. It reads SEARCHING.
  3. Desktop: play the room's copy. Within a second or two the phone reads LOCKED and the receiver's copy seeks to the same place and plays.
  4. Compare the two timecode bands by eye, at the start and again near the finish. The difference is the whole path: room, microphone, matcher, phone to Supabase to desktop, and the receiver's own seek.
  5. Pause the room's copy: the phone reads PAUSED after about a second and the receiver's copy stops. Seek the room's copy: the phone re-locks and the receiver's copy jumps.
Add ?chan=yourname to both pages to use a private channel. Add ?stale=2 to the phone page to wait two seconds of silence before it calls the video paused.