I built Mojo.fm for my dad. The brief was short: find a station, press play, save it. No account, subscription, or onboarding tour.
Internet radio makes that harder than it sounds. Directories contain dead stations, old stream URLs, unsupported formats, and servers that look healthy until playback starts.
Mojo uses a small Cloudflare service to fetch and normalize station data. It does not proxy live audio. The service prefers healthy stations, resolved URLs, HTTPS, and common MP3 or AAC streams. It removes duplicates and keeps known bad defaults out of the main browse view.
The player uses native browser audio, so it can react directly to loading, buffering, playback, and failure events. A station can still die. When that happens, the list stays visible and gives the listener another choice.
Favorites, recent stations, volume, and the last station stay in local browser storage. Returning listeners continue where they stopped. Live track details, country pages, and global charts came later, but every station page still puts the player first.
Mojo does not promise offline radio or miracle stream reliability. It makes listening easy until the stream itself is the problem.