fyzx
Physical layer

Your own network,
out of light and sound.

Two phones, one room. Files cross by screen or by silent tone. No internet, no account.


Nothing in the middle

The gap between two devices is the whole network.

Light is 217 times sound

A screen: 678 bytes, eight times a second. A tone: 25. Both measured.

It never leaves the room

Sealed here, opened there. No third machine holds a copy.

The same tone measures the room

A chirp there and back is a distance. Enough of them map the room.


Link the other device

Scan with the phone's camera app.


Comms

  1. Listen on both devices.
  2. Type a line.
  3. Send.
  4. Or record a voice note.

No peer Mic off
One listener at a time
  • Nothing said yet.

    Listen on both devices and talk. Earshot is enough.

    Kept on this device. Everyone in earshot hears it.

Sound link

17.0 to 18.6 kHz, 25 bytes a second. Nothing to pair.

  1. Pick a band.
  2. Start listening.
  3. Watch for stepping tones.
  4. Ping the other device.

Off.

To talk, use Comms.

Sense

What this device can tell about the room. Nothing is sent or kept.

The read

Nothing measured yet.

Listens for about ten seconds.

What it concluded

What it could not tell

What this device admits to having

measured is a real quantity, relative has no reference, assumed rests on a stated constant.

Signals

A map of what reaches each spot as you walk. It drifts; close the loop to correct it.

  1. Stand still. Press Start walking.
  2. Walk at a steady pace.
  3. Return to the start; close the loop.
  4. Read where the channel holds.
A browser cannot read WiFi or mobile signal; even navigator.connection cannot tell them apart. Mapped instead: this app's 17.0 to 18.6 kHz channel, its noise, and the magnetic field.

Nothing walked yet.

0 steps
- -

Stride is guessed, so scale is the least certain part. The loop fixes drift, not scale.

Sync

Two phones, one clock, no network. Chirps measure the offset and the drift.

  1. Link the two devices.
  2. Open this page on both.
  3. Press Sync.
  4. Fire together; film it.

Offset

not measured

Nothing leaves the room.

The measurement

Same frame?

Fire together

Both screens flash on the shared clock. Film them: in sync, they share one 33 ms frame. Displays can add tens of ms.

Room

Where everyone is, and where the walls are.

Each device chirps in turn; the distances draw the room.

  1. Link the devices; open this page on each.
  2. Press Start on all of them.
  3. Watch the map fill in.

Not started.

The map

Distances

Distances fix the shape only. This device is at the centre; Flip mirrors it.

Check this device

fyzx needs a speaker and microphone that handle 18 to 21 kHz. This chirps at itself and says what will work here.

Estimated reach

not checked

What works here

Reach is estimated, not measured. Treat it as an order of magnitude.

Chirps give distance, the compass heading, your steps position. Sweep from a few spots and the room draws itself.

  1. Stand still. Press Sweep here.
  2. Turn slowly, all the way round.
  3. Walk a few steps. Sweep again.

Not started.

The plan

The beam is 60 degrees wide, so one spot draws arcs, not walls. A second spot rubs out what was not there. Good to a metre, out to seven.

Dead drop

The screen shows only ciphertext.

  1. Pick a shared passphrase.
  2. Add a message or a file.
  3. Seal and send, or save.
  4. They type the same passphrase.

Seal

Nothing sealed.

Split a picture

The passphrase's keystream, made visible. A one-way demo; to send a picture, use Scatter.

A picture becomes two planes.

Nothing split.

Opened here

Sealed arrivals land here.

Scatter

A picture out as noise. Send the phrase separately.

  1. Choose a picture.
  2. Save it, copy the phrase.
  3. Send them by different routes.
  4. They gather it with the phrase.
Scatter one picture in, noise out

A picture leaves as noise.

Detail

Nothing scattered.

Gather one noise plus phrase, picture out

A scattered picture, and its phrase.

Nothing gathered.

Send the file, never a photo. A re-encode or resize breaks it.

Share

For text, use Comms.

  1. Add photos.
  2. Re-encode, or send the original.
  3. Point their camera here.
  4. Broadcast, for more cameras.
Watching
-
Confirmed
0

Air-gapped keys

Addresses and payment requests between an online device and an offline one, by light.

Payment request

  1. Pick a chain, paste an address.
  2. Add an amount, if any.
  3. They scan it, or copy the URI.
URI

-


Air-gapped signing

  1. Paste the unsigned PSBT or transaction.
  2. Check inputs, outputs and fee.
  3. Send to the signer, or show UR.
  4. It comes back signed, the same way.

Nothing here needs a seed phrase or private key. To hand over a secret, use a one-time link.

One-time link

Encrypted here. Opens once, then deleted. Unopened links expire in 24 hours.

Use from an AI agent

Your agent encrypts on your machine and hands back a link and a password.

Skill - nothing to install

Tell the agent:


          

To keep it, for Claude Code:


          

MCP server

For any MCP client:


          

Send

  1. Drop, paste, or choose a file.
  2. Point their camera here.
  3. Hold still while it fills.
  4. It verifies and saves there.

Drop a file here, paste, or .

QR codes. Nothing uploads.

This screen

Frame
hello
Version
-
Payload
-
Rate
-

This camera

- 0 fps 0 frames
Point it at the other screen

Vault

Stays on this device. No second device needed.

Back up

Your files become one zip.

  1. Choose files.
  2. Save, copy, or encode frames.
  3. Restore below.

No container yet.

Restore from frames

Frames, screenshots or straight-on photos, in any order.

Restore from text

Save as a video

Survives a re-encode: enough frames rebuild the file.

Frames
-
Length
-
Per frame
-
Grid
-

No container yet.

Link details

Role
Behaviour

Frames not decoding? Lower the version, or raise ECC.

Log

Everything measured lands here. Copy or share sends the last 2000 lines.