PTTdroid: Push-to-Talk Radio

Content rating
Everyone
10+
Downloads
Content rating
Everyone
Users Interact
Learn more
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image

About this app

PTTdroid turns a phone into a walkie-talkie for a group that already has a network. You run the relay; the audio does not pass through anyone else's servers, and there is no account to create.

Hold the button, talk, let go. The relay arbitrates the channel, so exactly one person is on air at a time - press while somebody else is talking and the app tells you, instead of two people transmitting into the same silence.

The interface is built for the way a radio is actually used: one-handed, in motion, often without looking. Every state is a colour and a single word, and the same colour means the same thing on the main screen, on the floating button, in the widget and in the notification. Green means the channel is yours. Red means you are on air. Blue means somebody else has the floor.

What it does

• Push-to-talk over your own WebSocket relay, on channels 1 to 99
• A server-arbitrated talk floor - one talker per channel, never two
• Each radio has a name, so you can see who is holding the channel
• Keeps talking with the screen off, or while you are in another app, through a microphone foreground service
• A draggable floating button that shows the channel number and doubles as the transmit control
• A home-screen widget for transmit, status and channel
• Talk and Disconnect straight from the ongoing notification
• Light, dark, or follow the system
• Laid out for phones and tablets alike
• Optional encryption: connect over wss://, trusting a self-hosted relay by its certificate fingerprint, with an optional shared access token
• Can host the relay on the device itself, so a group on one Wi-Fi needs no separate machine at all

You need a relay

PTTdroid talks to ptt-server, a companion open-source project: a single Kotlin/Ktor process with no database and no state to back up. It runs with one Docker command and can generate its own TLS certificate on first boot. Point the app at it under Settings, or switch on "Host a relay on this device" and let one handset be the server for everyone on the same Wi-Fi.

What it does not do

There are no accounts, no message history, no text chat and no audio compression - it is raw 16 kHz mono PCM, which is fine on a LAN and wasteful over a metered connection. The access token is one shared secret for the whole channel: there are no per-handset credentials and no way to revoke a single device. This is a tool for a group that trusts each other and controls its own infrastructure, not a consumer messenger.

Private by construction

No analytics, no advertising, no third-party trackers and no Google Play services. Audio travels from your phone to your relay and on to the other radios on your channel, and nowhere else.

The app asks for the microphone, and for notifications so the running session can be shown. The floating button additionally needs "display over other apps", which you are free to leave switched off - everything else works without it.

Open source

Released under the GNU General Public License v3.0 and built with Kotlin and Compose Multiplatform, from a codebase shared with the desktop and iOS builds. Source, issue tracker and the companion server:

github.com/devapro/ptt-client-android
Push-to-talk over a relay you host yourself. No account, no ads, no tracking.
Updated on
Sep 17, 2026
Featured stories

Data safety

Safety starts with understanding how developers collect and share your data. Data privacy and security practices may vary based on your use, region, and age. The developer provided this information and may update it over time.
  • No data shared with third parties
    Learn more about how developers declare sharing
  • No data collected
    Learn more about how developers declare collection

What’s new

Fixed reconnecting issue
Content rating
Everyone
Users Interact
Learn more

App support

About the developer
Arseniy Kharlanov
arsenyzp@gmail.com
Кондина 13 11000 Београд Serbia