Skip to content

How it works

What happens when you press the button.

A plain-language walk-through of each tool: what your browser does, what our server does, and what it never touches.

Watch Together

Two people watch one video that lives on the creator’s device.

  1. 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. 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. 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. 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. 5

    Camera and microphone are optional

    Either person can switch theirs on or off at any time. The movie keeps playing either way.

  6. 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

WebRTC connection

Guest’s browser

watches the stream

App server

Signaling & room coordination

Creator’s browser ↔ WebRTC connection ↔ Guest’s browser. The app server is a separate coordination service and does not carry the video.

Direct connections aren’t always possible

Strict firewalls and some mobile networks block peer-to-peer traffic. A TURN relay can forward the encrypted stream instead — this adds latency and costs the operator bandwidth (a 2-hour movie can be several gigabytes).

Multiplayer Games

Turn-based and timed games where the server is the referee.

  1. 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. 2

    The guest joins with a link or code

    Exactly two players. A third person is turned away.

  3. 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. 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. 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

real-time

App server

rules · dice · timers

real-time

Player 2

browser

Both browsers talk to the server over a real-time channel (Socket.IO). The server owns the game state.

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.

Quick Share

A file goes from one browser to another through a link that works once.

  1. 1

    The sender selects a file

    The browser reads it locally to compute a SHA-256 fingerprint. Nothing is uploaded.

  2. 2

    The website generates a temporary link

    The server stores the name, size, type and fingerprint, plus an expiry (24 hours by default).

  3. 3

    The recipient opens the link

    They see the file details and whether the link is still available. Opening it does not use it up.

  4. 4

    The browsers open a WebRTC DataChannel

    Directly when possible, or through a TURN relay. Only one recipient at a time can hold the link.

  5. 5

    Chunks are transferred and verified

    The file streams in small chunks with flow control. The recipient’s browser recomputes the fingerprint at the end.

  6. 6

    The link is consumed after one successful download

    Only a verified, complete transfer marks the link as used. A failed attempt leaves it available.

Sender’s browser

keeps the tab open

DataChannel

Recipient’s browser

saves the file

App server

Link status · one-time authorization · signaling

The server’s role is limited to coordinating the connection and enforcing the one-download rule.

One-time means one download through this site

It cannot stop the recipient from keeping or forwarding the file afterwards.