Indie product · Flutter · shipping

Static Radio

A radio-style mobile app and ad-funded podcast network. Nine themed stations of open-podcast programming, rebuilt daily, played back in lockstep — every listener hears the same thing at the same second, like a real radio experience.

Static Radio wordmark — cyan letterforms with a spiky-A star in the center.
Brand identity by Angela Runge of Best Practice.
RoleCo-founder, product designer, end-to-end builder
CollaboratorsAngela Runge (brand identity, Best Practice) · the Best Practice partners
Listenstaticradio.app →
StatusShipping on Android via open testing · iOS soon

Problem

Podcast apps are libraries — endless choice, no shared moment. Modern radio has lost its character to algorithm-shaped sameness and stadium-scale advertising. There’s a gulf between “I want to put something on” and “I want to choose between 73 million episodes.”

Insight

The thing a real radio experience gets right is everyone hearing the same thing at the same second. That’s what makes radio feel social even when you’re alone. If we could rebuild that property — but source the content from the open podcast ecosystem rather than commercial broadcasters — we’d have something neither radio nor podcast apps can offer.

Solution

A small radio app that lands you mid-broadcast with everyone else who's listening. Tap, spin the wheel, settle on a station — same as turning a real dial. Every station reshuffles overnight, so tomorrow's commute is different from today's. You can't skip, you can't rewind, you don't have to choose. You just listen.

Live in the app

Moments captured from real listening sessions — every episode comes from a podcast, every visual treatment fills the screen with the same riso-printed feel.

Static Radio on Work station playing a 'Coffee' episode — hand-drawn art of a tent and figure on a muted blue background, with the LEARN/WORK/NATURE dial below and a live listener count of 1.
Static Radio on Learn station playing 'Damn Interesting' — a one-week-supply cardboard cover with hand-drawn warning glyphs, mint-green dial pulling the channel palette.
Static Radio on Work station playing 'Endless Twilight' — neon urban photograph with rain-slick streets, pale-pink dial tinted from the cover.
Static Radio on Sheila station playing 'Tales of a Red Clay Rambler' — vintage western signage over a desert sunset, mint dial below.
Static Radio on Weird station playing 'Herpetological Highlights' episode 243 — Komodo dragon illustration on a sunset gradient, butter-yellow dial below.

Nine stations

Each with its own palette and editorial brief — biased toward under-the-radar, indie, “diamond in the rough” programming. A live listener count sits next to every station, so you can see who's tuned in with you right now.

nature_01

Nature

Ambient field recordings, birdsong, rain, soundscapes.

work_01

Work

Lo-fi beats, ambient focus, warm tape loops — chill, never dark.

learn_01

Learn

History, science, philosophy, documentary, academic theology.

news_01

News

Sober reported journalism + audio documentary. No punditry, no sports, no AI-discourse.

weird_01

Weird

Paranormal, UFOs, cryptids, folklore, fringe science, esoterica.

unite_01

Unite

Coalition, solidarity, labor, mutual aid, cooperatives, abolition.

make_01

Make

DIY, woodworking, electronics, craft, home economics.

sheila_01

SHEILA B

WFMU archive — Sophisticated Boom Boom.

sleep_01

Sleep

Sleep stories, yoga nidra, brown noise.

One station, one moment

Everyone hears the same thing at the same time.

The thing radio gets right is the shared moment. Two strangers on opposite ends of the city, hearing the same song at the same second — that's what makes a station feel alive, even when you're alone in the car. Static Radio holds that line. Tap into a station and you land where everyone else already is. A small live counter next to the station tells you exactly how many of you are there together.

That's the whole rule of the app: the schedule belongs to the world, not to you. You can't shuffle it, you can't queue ahead. Tomorrow, the same station plays something different because the lineup rebuilt itself overnight — but everyone listening tomorrow is hearing it together.

How the synced moment works

A daily bake produces tomorrow’s nine stations. A Cloudflare Worker derives the current playhead from server time. Every listener — wherever they open the app — lands on the same second of the same episode.

Static Radio architecture A horizontal diagram showing five stages: open podcast feeds, a Python pipeline that curates nine stations once a day, a Cloudflare R2 bucket holding the audio and manifests, a Cloudflare Worker that computes the current playhead from server time, and the Flutter app that plays back to every listener in lockstep. SOURCE DAILY BAKE STORAGE LOCKSTEP RUNTIME LISTENER Open podcast feeds the open RSS web Python pipeline curates 9 stations runs once a day · 03:00 UTC Cloudflare R2 audio · manifest one bucket per station Cloudflare Worker computes the playhead now − station_start Flutter app android · ios soon one binary, every listener writes tomorrow’s lineup streams the same second to all THE SHARED MOMENT Every listener hears the same second. A small counter on each station shows who else is there.
The architecture that makes the shared moment real.

What a listener actually does

  1. Open the app. A station is already playing. You haven't picked anything yet — you're just here.
  2. Spin the wheel. Nine themed stations — Nature, Work, Learn, News, Weird, Unite, Make, SHEILA B, Sleep. The dial moves the way you'd expect a radio dial to move. Land on whichever one matches the mood.
  3. Hear something good. Tap the heart so you remember it. Behind the scenes, a small team of curators and an editorial brief have been combing the open podcast ecosystem to find the kind of programming the algorithms bury.
  4. Come back tomorrow. Every station has rebuilt overnight. It's a different show. It's still you and everyone else.

What I designed

The wheel. A circular tuner you drag with your thumb. The further you drag, the further you travel between stations. Release and a magnet pulls you to the nearest one with a soft settle. Tiny haptic ticks during the spin, a satisfying thud when you land. It's the part of the app you'll touch a hundred times a day and it had to feel like a thing, not a slider.

The artwork treatment. Every episode brings its own cover art from the podcast it came from. The job was to take that art and extend it across the whole screen with a riso-printed noise treatment, a station-specific palette, and a smooth crossfade as you scrub between the two stations on either side of you. The credit for the art is the podcast's; the credit for the way it fills your phone is mine.

Mute and favorites. A center button you can mute without losing your place. The screen desaturates, but the favorite heart and the mute glyph stay in color so you know the radio is still there, waiting. Press and the whole control panel gives a little under your thumb.

Audio community bulletins. The ad-funded half, but it doesn't behave like an ad. Anyone — a neighborhood band, a small label, a mutual-aid group, a friend with something to say — records a 30-second voice memo from their phone, picks a station, and pays from $10. The bulletin plays between episodes on that station; every listener on that station hears it at the same second. It's a real human voice talking to real listeners. No programmatic, no targeting, no tracking — the antithesis of ad-tech, on purpose.

Marketing. A short, calm site at staticradio.app — the cyan STATIC RADIO wordmark glowing on a black surface, a single Post a bulletin pill, and a slowly-rotating get the app · get the app · get the app · get the app ring below. No tour, no feature grid, no screenshots. Two doors: listen or send something into the world. Identity by Angela Runge at Best Practice.

staticradio.app

The marketing site. Two doors and nothing else: post a 30-second voice memo to a station, or get the app and listen. Brand by Angela Runge at Best Practice.

staticradio.app — the cyan STATIC RADIO wordmark with the spiky-A star at the top of a dark surface, a Post a bulletin pill button beneath it, and a slowly-rotating get the app ring below that. No other chrome.
Listen with us

It's on Android now. Test with us.

Open testing on the Play Store today — install it, listen for a few days, tell us what you'd change. iOS is right behind. Want to broadcast a 30-second voice memo to a whole station? Bulletins from $10.