A tiny now-playing API anyone can use
July 27, 2026 ยท [email protected] ยท 9 min read
We test new segments live, keep what works and quietly retire what does not. If you have ever wondered why a song sounds warmer on air, the answer is a ridiculous amount of compression. Every Friday we look at the numbers, and every Friday the numbers say people want more synthwave.
The playlist
We keep the site lightweight on purpose, so it loads fast on a train, a tired laptop or a phone at 5% battery. We believe the music should never stop just because you clicked a link. We keep the stream running around the clock, which means someone is always awake, caffeinated and slightly too excited about a B-side.
Most of our DJs have day jobs in software, design or support, which explains the jokes. The request line gets more messages than ever, and our DJs read every single one on air. Radio has always been about company, and that has not changed just because the transmitter is now a rack of servers.
- Shows archived for 90 days
- Podcast feed updated nightly
- Stream in 128 kbps MP3 or 320 kbps AAC
- Request a song from any page
When a listener sends a track we have never heard, it goes straight into the next hour. We still print the weekly playlist and pin it on the studio wall, mostly out of habit. We keep a strict no-autoplay policy on the site: you press play, and then we never interrupt you. Local artists make up almost a third of what we play, and that number keeps going up. The best feedback we ever got was a single line: “you made my deploy go faster”.
A short history
We keep the stream running around the clock, which means someone is always awake, caffeinated and slightly too excited about a B-side. Local artists make up almost a third of what we play, and that number keeps going up. The archive now holds more than two thousand hours of shows, all searchable by track and guest. We keep the site lightweight on purpose, so it loads fast on a train, a tired laptop or a phone at 5% battery.
Late nights are for experiments: long mixes, ambient sets and the occasional field recording. Radio has always been about company, and that has not changed just because the transmitter is now a rack of servers. We record every show, trim the talk, and publish it as a podcast by the next morning. We test new segments live, keep what works and quietly retire what does not.
The music never stops. That is not a slogan, it is a technical requirement.
Guests are always surprised by how relaxed the studio is, until the ON AIR light turns red. The station started as a side project in a spare room and a borrowed microphone. We measure success in hours listened, not clicks, which keeps us honest about what actually matters. We believe the music should never stop just because you clicked a link.
On air and off
We test new segments live, keep what works and quietly retire what does not. Nothing beats the feeling of a track dropping at exactly the right moment and the chat exploding with fire emojis. We keep a strict no-autoplay policy on the site: you press play, and then we never interrupt you. Some of our most-loved segments started as a joke in the green room. We run on a tiny budget, a lot of goodwill and a very generous hosting sponsor.
Guests are always surprised by how relaxed the studio is, until the ON AIR light turns red. Every Friday we look at the numbers, and every Friday the numbers say people want more synthwave. The best feedback we ever got was a single line: “you made my deploy go faster”. Radio has always been about company, and that has not changed just because the transmitter is now a rack of servers.
# stream health check
while true; do
curl -sI $STREAM | head -1
sleep 30
done
Good radio sounds effortless, but every minute on air has at least ten minutes of prep behind it. We run on a tiny budget, a lot of goodwill and a very generous hosting sponsor. Local artists make up almost a third of what we play, and that number keeps going up. The archive now holds more than two thousand hours of shows, all searchable by track and guest. Our engineers obsess over latency because a stream that stutters is a stream people switch off.
Small details
We run on a tiny budget, a lot of goodwill and a very generous hosting sponsor. Listeners tell us they tune in while they code, study, drive, cook and occasionally while they should be sleeping. The studio is small, the monitors are loud and the coffee machine has its own on-call rotation. Local artists make up almost a third of what we play, and that number keeps going up. The request line gets more messages than ever, and our DJs read every single one on air.
A radio station is really a promise: that there will be something good playing whenever you tune in. The best feedback we ever got was a single line: “you made my deploy go faster”. Some of our most-loved segments started as a joke in the green room. Our engineers obsess over latency because a stream that stutters is a stream people switch off. We keep the stream running around the clock, which means someone is always awake, caffeinated and slightly too excited about a B-side.
Our favourite metric is the number of listeners who stay through the ad break. Good radio sounds effortless, but every minute on air has at least ten minutes of prep behind it. Every Friday we look at the numbers, and every Friday the numbers say people want more synthwave. Accessibility matters to us, so every show gets a transcript and every page works with a keyboard. Guests are always surprised by how relaxed the studio is, until the ON AIR light turns red.
Where to find us
If you have ever wondered why a song sounds warmer on air, the answer is a ridiculous amount of compression. The request line gets more messages than ever, and our DJs read every single one on air. Some weeks the playlist is meticulously planned; other weeks it is a group chat argument that somehow turns into a show. The station started as a side project in a spare room and a borrowed microphone. We record every show, trim the talk, and publish it as a podcast by the next morning.
Most of our DJs have day jobs in software, design or support, which explains the jokes. A good transition is invisible: you only notice it when it goes wrong, like a page that flashes white between clicks. We learned early that a stable stream matters more than a fancy one. Our schedule is built in blocks, with softer sounds in the morning and heavier beats after dark.
- Community playlist every Sunday
- Stream in 128 kbps MP3 or 320 kbps AAC
- Low-data mode for mobile
- Weekend throwbacks from 08:00
We learned early that a stable stream matters more than a fancy one. We still print the weekly playlist and pin it on the studio wall, mostly out of habit. The archive now holds more than two thousand hours of shows, all searchable by track and guest.
What comes next
Behind the scenes, the playout system is a small pile of open source tools glued together with very careful shell scripts. We keep the stream running around the clock, which means someone is always awake, caffeinated and slightly too excited about a B-side. Guests are always surprised by how relaxed the studio is, until the ON AIR light turns red. We measure success in hours listened, not clicks, which keeps us honest about what actually matters.
Most of our DJs have day jobs in software, design or support, which explains the jokes. Accessibility matters to us, so every show gets a transcript and every page works with a keyboard. Some of our most-loved segments started as a joke in the green room. Our community Discord is where most show ideas start and where most bad puns go to live forever. We run on a tiny budget, a lot of goodwill and a very generous hosting sponsor.
Play the track you would send to a friend at 2am. That is the whole format.
Accessibility matters to us, so every show gets a transcript and every page works with a keyboard. The archive now holds more than two thousand hours of shows, all searchable by track and guest. Nothing beats the feeling of a track dropping at exactly the right moment and the chat exploding with fire emojis. Our favourite metric is the number of listeners who stay through the ad break. Most of our DJs have day jobs in software, design or support, which explains the jokes.
From the request line
When a listener sends a track we have never heard, it goes straight into the next hour. Listeners tell us they tune in while they code, study, drive, cook and occasionally while they should be sleeping. We measure success in hours listened, not clicks, which keeps us honest about what actually matters. A good transition is invisible: you only notice it when it goes wrong, like a page that flashes white between clicks. Most of our DJs have day jobs in software, design or support, which explains the jokes.
The best feedback we ever got was a single line: “you made my deploy go faster”. We learned early that a stable stream matters more than a fancy one. Most of our DJs have day jobs in software, design or support, which explains the jokes.
# stream health check
while true; do
curl -sI $STREAM | head -1
sleep 30
done
Every Friday we look at the numbers, and every Friday the numbers say people want more synthwave. We test new segments live, keep what works and quietly retire what does not. Our community Discord is where most show ideas start and where most bad puns go to live forever.
What changes for listeners
A good transition is invisible: you only notice it when it goes wrong, like a page that flashes white between clicks. We keep a strict no-autoplay policy on the site: you press play, and then we never interrupt you. The station started as a side project in a spare room and a borrowed microphone. We learned early that a stable stream matters more than a fancy one. The request line gets more messages than ever, and our DJs read every single one on air.
The archive now holds more than two thousand hours of shows, all searchable by track and guest. Radio has always been about company, and that has not changed just because the transmitter is now a rack of servers. Local artists make up almost a third of what we play, and that number keeps going up. Our community Discord is where most show ideas start and where most bad puns go to live forever. Some weeks the playlist is meticulously planned; other weeks it is a group chat argument that somehow turns into a show.
Every show on ArrayFM starts with a simple rule: play the track you would send to a friend at 2am. A radio station is really a promise: that there will be something good playing whenever you tune in. A good transition is invisible: you only notice it when it goes wrong, like a page that flashes white between clicks. We keep the site lightweight on purpose, so it loads fast on a train, a tired laptop or a phone at 5% battery. We run on a tiny budget, a lot of goodwill and a very generous hosting sponsor.