How @lofilinter builds a three-hour focus set
September 7, 2026 ยท [email protected] ยท 7 min read
We measure success in hours listened, not clicks, which keeps us honest about what actually matters. 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”.
Questions we keep getting
The mixing desk is older than some of our interns, and it still sounds better than anything new. Local artists make up almost a third of what we play, and that number keeps going up. We believe the music should never stop just because you clicked a link.
We measure success in hours listened, not clicks, which keeps us honest about what actually matters. We run on a tiny budget, a lot of goodwill and a very generous hosting sponsor. Behind the scenes, the playout system is a small pile of open source tools glued together with very careful shell scripts. The chat is moderated by humans, which keeps it friendly, weird and welcoming.
- New shows every weekday at 06:00
- Stream in 128 kbps MP3 or 320 kbps AAC
- Chat moderated by real people
- Request a song from any page
We still print the weekly playlist and pin it on the studio wall, mostly out of habit. Listeners tell us they tune in while they code, study, drive, cook and occasionally while they should be sleeping. We test new segments live, keep what works and quietly retire what does not. A radio station is really a promise: that there will be something good playing whenever you tune in.
The playlist
The chat is moderated by humans, which keeps it friendly, weird and welcoming. Our engineers obsess over latency because a stream that stutters is a stream people switch off. Our schedule is built in blocks, with softer sounds in the morning and heavier beats after dark. 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.
The station started as a side project in a spare room and a borrowed microphone. We still print the weekly playlist and pin it on the studio wall, mostly out of habit. Some weeks the playlist is meticulously planned; other weeks it is a group chat argument that somehow turns into a show. Late nights are for experiments: long mixes, ambient sets and the occasional field recording.
If the page reloads, the song stops. So the page does not reload.
A good transition is invisible: you only notice it when it goes wrong, like a page that flashes white between clicks. 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. We keep the stream running around the clock, which means someone is always awake, caffeinated and slightly too excited about a B-side. We measure success in hours listened, not clicks, which keeps us honest about what actually matters.
How it works
Every show on ArrayFM starts with a simple rule: play the track you would send to a friend at 2am. Listeners tell us they tune in while they code, study, drive, cook and occasionally while they should be sleeping. 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. Late nights are for experiments: long mixes, ambient sets and the occasional field recording. The station started as a side project in a spare room and a borrowed microphone. Nothing beats the feeling of a track dropping at exactly the right moment and the chat exploding with fire emojis. We learned early that a stable stream matters more than a fancy one.
The short version
The chat is moderated by humans, which keeps it friendly, weird and welcoming. 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. We run on a tiny budget, a lot of goodwill and a very generous hosting sponsor. The archive now holds more than two thousand hours of shows, all searchable by track and guest.
We record every show, trim the talk, and publish it as a podcast by the next morning. Good radio sounds effortless, but every minute on air has at least ten minutes of prep behind it. We measure success in hours listened, not clicks, which keeps us honest about what actually matters. Every Friday we look at the numbers, and every Friday the numbers say people want more synthwave. We learned early that a stable stream matters more than a fancy one.
From the request line
Good radio sounds effortless, but every minute on air has at least ten minutes of prep behind it. Some weeks the playlist is meticulously planned; other weeks it is a group chat argument that somehow turns into a show. We keep the stream running around the clock, which means someone is always awake, caffeinated and slightly too excited about a B-side.
The mixing desk is older than some of our interns, and it still sounds better than anything new. We measure success in hours listened, not clicks, which keeps us honest about what actually matters. Some of our most-loved segments started as a joke in the green room. We keep the stream running around the clock, which means someone is always awake, caffeinated and slightly too excited about a B-side.
The archive now holds more than two thousand hours of shows, all searchable by track and guest. We still print the weekly playlist and pin it on the studio wall, mostly out of habit. Some of our most-loved segments started as a joke in the green room.
The tech stack
A radio station is really a promise: that there will be something good playing whenever you tune in. Local artists make up almost a third of what we play, and that number keeps going up. Good radio sounds effortless, but every minute on air has at least ten minutes of prep behind it. 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. A radio station is really a promise: that there will be something good playing whenever you tune in. We keep the site lightweight on purpose, so it loads fast on a train, a tired laptop or a phone at 5% battery. The request line gets more messages than ever, and our DJs read every single one on air. Our community Discord is where most show ideas start and where most bad puns go to live forever.
- Transcripts for every talk segment
- New shows every weekday at 06:00
- Chat moderated by real people
- Keyboard-friendly player controls
Radio has always been about company, and that has not changed just because the transmitter is now a rack of servers. We learned early that a stable stream matters more than a fancy one. Some weeks the playlist is meticulously planned; other weeks it is a group chat argument that somehow turns into a show. We keep the stream running around the clock, which means someone is always awake, caffeinated and slightly too excited about a B-side. Our schedule is built in blocks, with softer sounds in the morning and heavier beats after dark.
On air and off
Our community Discord is where most show ideas start and where most bad puns go to live forever. Local artists make up almost a third of what we play, and that number keeps going up. We keep the site lightweight on purpose, so it loads fast on a train, a tired laptop or a phone at 5% battery. The station started as a side project in a spare room and a borrowed microphone. When a listener sends a track we have never heard, it goes straight into the next hour.
Late nights are for experiments: long mixes, ambient sets and the occasional field recording. Accessibility matters to us, so every show gets a transcript and every page works with a keyboard. The station started as a side project in a spare room and a borrowed microphone. Our schedule is built in blocks, with softer sounds in the morning and heavier beats after dark. Nothing beats the feeling of a track dropping at exactly the right moment and the chat exploding with fire emojis.
Play the track you would send to a friend at 2am. That is the whole format.
Every Friday we look at the numbers, and every Friday the numbers say people want more synthwave. If you have ever wondered why a song sounds warmer on air, the answer is a ridiculous amount of compression. 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 engineers obsess over latency because a stream that stutters is a stream people switch off.