Desktop
Tauri 2 with a Rust core. WASAPI loopback capture, Opus encoding, WebRTC, approval, and sessions.
eko echoes your computer's audio to every phone nearby over Wi‑Fi, so everyone listens on their own headphones. No accounts, no cables, and you approve every device.
eko for Windows
Download
No macOS build yet. iPhones listen in Safari by scanning the desktop's QR code.
01 Why eko
We had phones and headphones, but only one laptop. Playing it out loud annoys everyone around you. Bluetooth sends sound to one pair of headphones, and sharing it with several needs LE Audio or Auracast, which most devices don't support.
02 The name
An echo is a sound that comes back from somewhere else. eko plays your laptop's sound once and lets it come back out of every phone in the room.
The mark is one ring and its echo: the same shape, turned around.
/ˈɛk.oʊ/ · a sound that comes back
03 How it works
Start eko on the laptop. Phones join with a QR code or from a list of nearby hosts. Nobody types an IP address and nobody makes an account, and the person with the laptop decides who gets in.
04 Under the hood
eko streams with WebRTC, the same technology behind video calls in your browser. It brings encryption, routing between devices, and low-latency Opus audio. A WebSocket handles the first conversation: who is joining and how to reach them. The second conversation is the audio itself, and getting the first one working tells you nothing about the second.
05 Encode once
The desktop records whatever the speakers play, cuts it into 20 ms slices, and encodes each one as 48 kHz stereo Opus. Every packet is encoded once and shared, so the fifth listener doesn't cost a fifth encoder.
3 listeners · 1 encoder
Smaller packets mean less waiting but more overhead. Bigger buffers survive bad Wi‑Fi but add delay. The job is finding the smallest numbers that still sound smooth.
06 You decide
Scanning the QR code or spotting the laptop nearby only identifies a phone. Approval authorizes it, and nothing plays until the host says yes.
07 Any network
On a home network the audio goes straight from the laptop to each phone. Public and office Wi‑Fi often block that, so the browser client falls back to an encrypted TURN relay on Cloudflare. That costs a hop, so it's the backup and never the plan, and eko shows which path each device took.
08 The whole system
eko has three parts: a desktop app that captures and sends audio, an Android app that plays it, and a browser page for iPhones. React draws the buttons, and Rust owns everything that has to keep running while the movie plays.
Tauri 2 with a Rust core. WASAPI loopback capture, Opus encoding, WebRTC, approval, and sessions.
Native Rust receives, decodes, and plays through Oboe. Pause clears the buffer, so play returns to live.
The fallback for iPhones and everything else. It runs in Safari from the same QR code.
09 What's different
The other ways to share a laptop's sound each give something up.
Everyone hears it, including the people trying to sleep.
One pair of headphones per laptop.
One-to-many audio, but every device needs LE Audio support.
Accounts, internet, and audio tuned for voices.
Phones you already carry, over local Wi‑Fi, with each device approved by you.
Install it on the laptop, open eko on your phone, and scan the QR code.
eko for Windows
Download