A few weeks ago, I started experimenting with something I wasn't even sure would be practical: live audio/video communication between phones entirely over Bluetooth.
No internet, SIM, accounts or servers.
The idea came during the internet shutdowns around student protests in India. Apps like Bitchat demonstrated offline messaging, and I wanted to see whether we could go beyond text.
That experiment became MeshLive, a free and open-source Android and iOS project.
I've just released v0.3.0-beta, and quite a bit has changed since the first public build.
What's new?
Audio-only broadcasts: Live audio uses far less Bluetooth bandwidth than video, can reach further under suitable conditions, and can continue with the screen off.
Better calls: Voice calling now has proper ringing, answer/decline notifications and lock-screen handling.
Android β iPhone: Devices running MeshLive can discover each other and communicate across platforms.
Privacy improvements: Discovery identifiers rotate every 15 minutes. Unknown callers initially see a temporary identity rather than your contact identity.
More reliable streaming: Improvements to slower Bluetooth links, reconnections and the overall UI.
There's still support for two-way voice/video calls and live broadcasts that nearby phones can relay onward.
The part I underestimated
Bluetooth bandwidth.
Getting usable video over one Bluetooth connection is already tricky. Relaying it to more phones introduces additional bandwidth and latency constraints.
The other challenge is Android itself. Different manufacturers, chipsets and OS versions can behave surprisingly differently.
I've now tested the project on seven Android phones and an iPhone 16 Plus, but that's still nowhere near enough coverage.
Why I'm open-sourcing it
I don't think something like this can become genuinely useful through testing on just my own phones.
It needs people trying different device combinations, reporting issues, improving Bluetooth compatibility and reviewing the implementation.
And I want to be clear: this is still an experimental beta. Performance varies, some functionality remains unfinished, and the security hasn't been independently audited. Please don't rely on it for safety-critical communication.
Try it
Android APK + source: https://github.com/MeshLive/meshlive-android
Early iOS implementation: https://github.com/MeshLive/meshlive-ios
If you have two phones, try a call or stream without internet. I'd especially appreciate reports containing the phone models, Android/iOS versions and what worked or failed.
Contributions and technical feedback are welcome.













