How it works
What happens when you press the button.
Watch Together
Two people watch one video that lives on the creator’s device.
- 1
The creator selects a local video
The file is opened by the creator’s browser like any local video. It is not uploaded.
- 2
The website helps both browsers connect
Through our server, the browsers exchange connection details (signaling) and, with STUN, find a network path to each other.
- 3
The video streams creator → guest
The creator’s browser captures the playing video and sends it over WebRTC, where the browser and network support it.
- 4
The server coordinates playback
Play, pause, seek and speed go through the server, which keeps one authoritative timeline, pauses both people when one is buffering, and re-synchronises.
- 5
Camera and microphone are optional
Either person can switch theirs on or off at any time. The movie keeps playing either way.
- 6
The creator decides what the guest may control
Play/pause, seeking and speed are separate permissions the creator can grant or revoke.
Creator’s browser
plays the file
Guest’s browser
watches the stream
App server
Signaling & room coordination
Direct connections aren’t always possible
Multiplayer Games
Turn-based and timed games where the server is the referee.
- 1
The creator makes a game room
Pick Chess, Ludo, Connect Four, Tic-Tac-Toe or Trivia. The room is locked to that game.
- 2
The guest joins with a link or code
Exactly two players. A third person is turned away.
- 3
The server validates every move
Your browser sends “I’d like to move here”. The server checks whose turn it is and whether the move is legal, then applies it.
- 4
Both browsers get the same state
After each accepted move, the server sends the new board to both players. Dice and trivia timers run on the server.
- 5
Reconnection is handled
The game is saved after every move. Reload or lose your connection and you pick up where you left off.
Player 1
browser
App server
rules · dice · timers
Player 2
browser
Why server-side validation matters
Anything running in a browser can be modified by its user. If browsers decided which moves were legal or what the dice showed, a player could cheat by editing a request. Here the browser only asks; the server decides, and a browser can never declare itself the winner.