Internet Frequency Modulation
Radio,reinvented.
A peer-to-peer communication protocol built around digital frequencies.
No stations. No servers. No central authority.
Spectrum
91.700MHz
- Peers
- 42
- Rate
- 128 kb/s
- State
- ACTIVE
01 — The problem
Radio had the
right idea.
Radio created a simple model for communication:
- 01Choose a frequency.
- 02Tune in.
- 03Listen.
- 04Transmit.
But traditional radio depends on infrastructure:
- Stations.
- Transmitters.
- Licenses.
- Central authorities.
IFM takes the same intuitive model and rebuilds it for the Internet.
02 — The new model
No center.
IFM doesn't route communication through a central service. Peers communicate directly and propagate information across the network.
Traditional Internet
USER → SERVER → USERS
IFM
SimulationPEER ↔ PEER ↔ PEER — when a peer disappears, traffic takes another path.
03 — Frequencies
Every frequency is a place to meet.
91.700
42 peers
Drag the tuner, use arrow keys, or tap a marker to scan the spectrum.
Peers on this frequency
42
04 — The network
The network has no headquarters.
Every node is a peer
No node holds a privileged position in the topology.
Every link is a path
Messages propagate through whichever route is available.
Peers leave, routes adapt
Removing peers degrades reach, never the whole network.
05 — What is a node?
Anything can become a station.
There are no stations. Only peers. The network doesn't care what the hardware is.
Laptop
Run IFM from a laptop.
PEER 01
Phone
Turn a phone into a peer.
PEER 02
Raspberry Pi
Put one on a Raspberry Pi.
PEER 03
USB drive
Carry a node on a USB stick.
PEER 04
Browser
Join over WebRTC from a tab.
PEER 05
06 — Portable
Your network can fit in your pocket.
- 01
USB drive
FAT32 · 8 MB used
- 02
IFM binary
single portable executable
- 03
Identity
Ed25519 keypair
- 04
Local cache
peers · frequencies
- 05
Network
libp2p over QUIC
07 — Technology
Built from proven Internet technology.
IFM is a new protocol assembled from mature peer-to-peer primitives — nothing here needs to be invented from scratch.
Rust
Node implementation
memory-safe, portable binaries
libp2p
Networking stack
transport, discovery, routing
QUIC
Transport
multiplexed, low-latency, NAT-friendly
Kademlia
Peer discovery
distributed hash table
GossipSub
Propagation
frequency-scoped pubsub
Noise
Handshake
authenticated encryption
Ed25519
Identity
keypair is the peer ID
Opus
Voice codec
low-bitrate real-time audio
WebRTC
Browser access
a tab enters the mesh through a relay
08 — Open protocol
No company owns the frequency.
IFM is designed as an open protocol. The network should not depend on a single organization.
- Build a node.
- Build a client.
- Create a frequency.
- Run bootstrap infrastructure.
- Build applications.
- Extend the protocol.
- Implement IFM in another language.
09 — Architecture
Decentralization isn't a feature.
It's the architecture.
- There is no master server.
- No central directory.
- No central message broker.
- No central identity provider.
- No required cloud infrastructure.
Peers discover peers.
Peers communicate with peers.
Peers relay information.
The network belongs to its participants.
10 — Use cases
One protocol.
Many applications.
- 91.7VoicePush-to-talk across a frequency.
- 98.3ChatText that propagates peer to peer.
- 101.2Live eventsOne-to-many without a broadcaster.
- 103.7SensorsDevices publishing to a band.
- 105.1GamesLow-latency state between peers.
- 106.4EmergencyCommunication without infrastructure.
11 — Developers
Build on the frequency.
The protocol stays small. Applications define what travels across it.
const radio = await IFM.create()
await radio.tune("91.700")
radio.on("message", console.log)
await radio.broadcast("Hello, IFM!")12 — Desktop Apps
Three apps.
One protocol.
Native desktop apps built with Tauri and the IFM protocol — macOS today, Windows and Linux soon. Every app ships two macOS builds: an installer for everyday use and a dev bundle for testing.
- 91.7StationBroadcast voice and data across a frequency.
- 94.3RelayRoute traffic between peers in the mesh.
- 98.5ListenerTune in and decode signals from a frequency.
v— · macOS ARM64 · Windows & Linux coming
All downloads →13 — Future
The Internet doesn't need another platform.
It needs another primitive.
IFM is designed to become a primitive for decentralized communication.
- Voice.
- Chat.
- Live events.
- Sensors.
- Games.
- Emergency communication.
- Collaborative applications.
- Things we haven't imagined yet.