heliogram

Send a file from one screen to another device's camera. No install, no account, no network, no pairing. Two browser tabs and line of sight.

SEND a file → RECEIVE on this device → QR for the phone →

How to try it

  1. On a laptop or monitor, open SEND and drop in a small file.
  2. Open QR, point the phone's camera at it, and follow the link. That is the receiver, on the phone, with nothing installed.
  3. Press F on the sender for fullscreen. Point the phone at the screen during the white countdown and tap to lock focus.
  4. Fill the phone's frame with the code. The file rebuilds live and verifies its own SHA-256.

What it is

The sender turns a file into a dense grid of black and white cells and plays it as fast as the display refreshes. The receiver films that grid, finds it, reads it, and reassembles the file. Every cell block carries Reed-Solomon parity and its own CRC32, and the whole file travels as a fountain code, so the receiver can start anywhere, miss anything, and still finish.

Why it exists

An air gap is not a bug in the network, it is sometimes the point. This crosses one with nothing but light: a machine with no WiFi, no Bluetooth, no USB port you trust, and no shared account can still hand you a file if it has a screen. Nothing is transmitted back, so the sender cannot be reached from the receiving side at all.

It will never be faster than AirDrop over a good link, and it is not trying to be. It works where those cannot: across ecosystems, across air gaps, between strangers' devices, with the integrity of every byte checked on arrival.

Verify it yourself

The receiver ships with two self-tests. RS SELF-TEST checks its Reed-Solomon implementation against reference vectors, and OPTICS SELF-TEST runs a synthetic frame through the real detection and decoding path. Both run in your browser, with no camera needed.