Bad Radio is a station you listen to, not a catalog you skip through.
One live stream. Hit play. Stay with what is on. That is the product.
Licensed radio is coming via Live365. They bundle SoundExchange and the PROs. This site keeps the day’s set list and the listener request queue. It is not a Spotify or Apple player. It is not on-demand. It is not the old WordPress placeholder on badradio.com.
Requests are delayed. A request goes into a queue, not on the air. The statute clock is at least one hour after you ask, and not at a time you designate. The Sound Recording Performance Complement can refuse a track (album cap, artist cap) so the desk does not break the rolling 3-hour rules.
The 250GB library and a DIY Icecast / SoundExchange stack are later. Tonight’s catalog is a starter desk list in git — enough to program a day and test the queue, not the full library.
If PUBLIC_STREAM_URL is empty, the play button says the origin is not connected. We will not pretend a Live365 mount exists until Mark has one.
Not built yet: AI DJs, a talking agent, studio chat as a live Worker, or uploading the full library. The DJ slot is still a quiet status, not a voice.
badradio.rocks is this site. badradio.com still holds the old placeholder until DNS moves.