A radio player that looks like a terminal, because it is one.
radi.sh — the binary is radish — puts roughly
50,000 internet radio stations behind a command line. Type a
colon, type what you want, hit enter. No hamburger menus, no carousels, no
algorithmic feed deciding what you are in the mood for. Prefer tapping? Every
command has a button — the keyboard is an option, not a requirement.

The command palette
Everything is a command, and everything is discoverable — start typing and the palette filters as you go. Anything that isn't a command is treated as a search.
:tag shoegaze # browse a genre
:top :trending :random # surface something new
:play :pause # transport control
:add <url> # add a stream the directory has never heard of
:theme gruvbox # repaint the whole app
:export :import # take your library with you
32 colour themes
Tokyo Night, Gruvbox, Catppuccin, Rosé Pine, Nord, Everforest, Solarized and more — plus a set of CRT themes with optional scanlines and phosphor glow, for when you want the radio to look like it was salvaged from 1983. Light themes for daylight, dark themes for everything else.
A real visualiser
A spectrum analyser and an oscilloscope, drawn in text. Turn on the live analyser and the bars follow the actual audio coming out of your phone — a genuine 512-point FFT of what you are hearing, not a canned animation. With it off, a synthesised source keeps the bars moving, and the screen always says which one is running. It never claims to show your audio when it isn't.
Your library, your file
Favourite what you like. The last 60 stations you played stay in your recents. Add
custom stream URLs the directory has never heard of. Then :export copies
the whole library to your clipboard as JSON — paste it into a note, mail it to
yourself, keep it. :import merges it back on any device without
overwriting what is already there. There is no account, so there is no lock-in: your
library is a piece of text you own.
Plays in the background
Full playback notification with lock-screen controls. Keeps streaming with the screen off. Every station has a page worth reading — bitrate, codec, transport, country, language, tune-in count and votes, plus a randomart fingerprint generated from its ID, the way SSH draws key fingerprints. Track titles appear as the stream broadcasts them.
No nonsense
No ads. No accounts. No analytics. No crash reporting. No trackers of any kind. Nothing you do in the app is reported to anyone, because there is no server to report it to — everything it remembers lives on your phone and dies with the uninstall. Station data comes from Radio Browser, the free community-run directory; playing a station connects your device straight to that broadcaster's server, so radi.sh is never in the middle of your audio. You pay once — that is the entire business model, which is exactly why there is nothing in here harvesting you instead. Full details are in the radi.sh privacy policy.
50,000 stations, one
grepaway. radi.sh is coming soon to Google Play — a paid app with no ads, no accounts and no tracking.
