Nothing in the middle
No access point, no pairing, no account. The gap between two devices is the whole network.
Two phones in one room. A file crosses on the screen, or on a tone nobody can hear. No internet, no bluetooth, no account, no server.
No access point, no pairing, no account. The gap between two devices is the whole network.
A screen carries 678 bytes eight times a second. A tone carries twenty five. Both are measured, not claimed.
Sealed on this device and opened on theirs. There is no third machine to hold a copy, because there is no third machine.
A chirp there and back is a distance. Enough of them is a map of who is where, and where the walls are.
Scan this with the phone's camera app.
Nothing said yet.
Start listening on both devices and talk. There is no network and nothing to pair - the other phone only has to be within earshot.
Kept on this device only. Sound carries to everyone in earshot.
Two lanes of sixteen tones, 17.0 to 18.6 kHz, 25 bytes a second. Nothing to pair; the other seat only has to be in earshot.
Off.
Everyone in earshot hears this. To talk, go to Comms.
What this device can work out about the room it is in, from physics alone. Nothing is sent anywhere and nothing is kept.
The read
Nothing measured yet.
Press Start sensing. It listens for about ten seconds and then says what it can.
Is this room in the way of the sound link?
Start sensing to find out.
Reverberation time is the part a microphone can see, and it is not the part that decides. What breaks a frame is the ratio of direct sound to reverberant sound, and that depends on how far away the other device is as much as on the room.
Measured on this modem: the base rate carries a room with 2000 ms of reverberation at 6 dB direct-to-reverberant, and fails a 150 ms one at 0 dB. The long room is the easy one. Nothing here can measure that ratio from one microphone, so the rate this page recommends assumes 3 dB and is conservative by design.
The other thing reverberation does is notch tones. A random tail puts deep nulls every coherence bandwidth, and a four-tone lane loses a quarter of its alphabet to one null where a sixteen-tone lane loses a sixteenth. That is why the two fastest rates fail about one room in five for reasons no measurement predicts, and why they are offered rather than chosen.
What this room could carry
-
The microphone is off.
Chirps while you turn, and draws what came back.
Range is good to about six centimetres, which is the chirp's bandwidth and not something a faster sample rate would improve. Bearing is not: the speaker and the microphone are only roughly directional at 20 kHz, so every return is smeared across about sixty degrees and nothing here is drawn or named finer.
A blank sector means nothing came back, which is not the same as nothing being there. A wall is a mirror at these frequencies, so you hear it facing square on and miss it at an angle. Hatching is a sector never swept. The floor and the ceiling are subtracted by construction, along with anything at the same distance all the way round, and there is no height information in this at all.
A browser cannot be calibrated, so some of these are relative rather than absolute. Each reading says which it is: measured is a real quantity, relative has no reference to compare against, and assumed rests on a stated constant.
A birdseye map of what actually reaches this spot, measured while you walk. Position comes from counting steps and a compass, so the map stretches and drifts; walk back to where you started and say so, and it corrects itself.
Nothing walked yet.
Stride is guessed from your cadence and varies by tens of percent between people, so the scale of this map is the least certain thing on it. Closing the loop fixes the drift, not the scale.
Two phones, one clock, no network. A chirp there and back measures how far apart their clocks are; a few of them measure how fast the two are drifting away from each other.
Offset
not measured
Two timestamps cross the sound link. Nothing leaves the room.
Both screens go white at the same instant on the shared clock. Film the two phones with a third camera: if the sync is real they land in the same frame, and at 30 frames a second that frame is 33 ms wide. The offset above is measured through the microphones and owes nothing to the hardware. The flash has to go out through a screen, so it carries whatever the two display pipelines add - nothing on two of the same phone, tens of milliseconds across a phone and a laptop.
Where everyone is, and where the walls are. The first is measured between devices, the second by chirping at the walls and walking.
Every device chirps in turn and the others answer, each in its own slot. One chirp gives one device its distance to everyone in earshot, and the distances draw the room.
Not started.
Distances fix the shape and nothing else. Where the room is, which way it faces, and whether it is the right way round are all unknowable from sound alone - a room and its mirror image measure identically - so this device is drawn at the centre and Flip swaps the handedness.
Most of fyzx rests on a speaker that can make 18 to 21 kHz and a microphone that can hear it. Plenty of phones cannot do either. This chirps at itself and tells you what will work here, before you take two devices into a room and find out the slow way.
Estimated reach
not checked
Reach is estimated, not measured: sound pressure falls as one over distance, the speaker and microphone are about 10 cm apart, and the detector gives up at four to one. It ignores the room, which helps, and it is taken on the device's best axis, which flatters it. Treat it as an order of magnitude - the difference between "not at all" and "across a room" is a hundredfold, and nothing subtler matters.
A chirp says how far away the nearest wall is. The compass says which way you were facing. Your steps say where you were standing. Put the three together from a few spots and the room draws itself.
Not started.
The beam is 60 degrees wide, so one sweep from one spot draws arcs rather than walls: a return says something is three metres away somewhere in a wide cone. Sweeping from a second spot looks straight through the first spot's arcs and rubs out everything that was not really there. Metre-scale honest, centimetre-scale fiction, and it reaches seven metres.
The screen only shows ciphertext. A photograph of it gives nothing.
Nothing sealed.
The passphrase above, made visible: the keystream, and the picture with that keystream subtracted from it. A demonstration only, and it goes one way. To send a picture somebody can open, use Scatter.
A picture becomes two planes.
Nothing split.
Sealed arrivals land here.
A picture out as noise, and a way back. The phrase is minted here, eighty bits. Send it separately from the picture.
A picture leaves as noise.
Phrase
Eighty bits, kept nowhere. Lose it and the picture is gone.
Nothing scattered.
A scattered picture, and its phrase.
Nothing gathered.
Send the file, never a photo of it. A re-encode or a resize destroys it, and the app says so rather than hand back noise. What comes back is a dither, which is all three bits a pixel can hold.
Addresses, payment requests and seed phrases, moved between a device that is online and one that never is - on light, so there is nothing to intercept.
-
Drop a file here, paste, or .
QR codes. Nothing uploads.
Before this starts
-
-
Checking it will make it
30 s
Everything stays on this device. Nothing here is sent anywhere, and nothing here needs a second device to be useful.
Everything you choose becomes one zip. That is what everything below works on.
No container yet.
Exported frames, screenshots, or straight-on photos. Order and gaps do not matter. Angled shots are not read.
Any sufficient subset of frames rebuilds the file, so the reel survives a re-encode. Reading one back plays the whole video.
No container yet.
Verify reads each frame back out of canvas pixels, never from the arrays that drew it, then compares every byte. At 8K, 16 px cells: -
Frames not decoding? Lower the version, or raise ECC.
Everything measured on every page lands here. Copy or share it to get the numbers off the phone after a test - the last 2000 lines go, not just the ones still on screen.
Sound
Off
Light
Camera off
Devices
no peer
Nothing else in earshot or in front of the camera. Listening finds a device without either of you pointing anything.
In flight
Here
No peer needed
The microphone is closed, so there is nothing to draw.
No internet? No bluetooth? No problem.
Both devices listen, and each says hello in the ultrasonic band. Nothing has to be pointed at anything. They need to be in the same room.
Not listening.
Point this camera at the code on the other screen.
A chirp above the data band, and the other device answers. Both must be listening. It measures microphone to microphone.
Idle.