Eavesdrop
Turn your phone into a live microphone for your headphones
People in noisy environments needed clearer nearby audio through headphones without building a surveillance tool. The product had to feel trustworthy, work across Android and iOS audio stacks, and enforce phone-mic capture even when headsets are connected.
A production-grade mobile app.
Eavesdrop lets you place your phone nearby and hear what its built-in microphone picks up through your Bluetooth or wired headphones with low-latency pass-through. The experience is deliberately visible and consent-first: no hidden recording, no stealth mode, and audio stays on your device.
We built a Kotlin Multiplatform app with shared session state, platform-specific live audio controllers, and a bold active-state UI that makes listening obvious. Android uses AudioRecord and AudioTrack; iOS uses AVAudioSession and AVAudioEngine.
What makes it work in the real world.
- →Live phone-to-headphones listening with start/stop flow
- →Bluetooth and wired output detection
- →Bold mic-active UI with no hidden recording mode
- →On-device audio processing only
Built for real operations, not demos.
Shared LiveMicController state machine in commonMain
Android AudioRecord → AudioTrack low-latency pass-through
iOS AVAudioSession + AVAudioEngine integration
Built-in mic enforcement when headsets are connected
Foreground-only MVP with explicit permission and active-state UX
How we made it work reliably in production.
- Shared LiveMicController state machine in commonMain
- Android AudioRecord → AudioTrack low-latency pass-through
- iOS AVAudioSession + AVAudioEngine integration
- Built-in mic enforcement when headsets are connected
- Foreground-only MVP with explicit permission and active-state UX
Building something that needs to actually work in the real world?
Start a conversation