A.Rodriguez is a creative technologist and designer.
SEDR homepage: the green terminal background behind the sedrOS player

Overview

SEDR is an underground online radio station based in Chicago, Illinois, broadcasting an experimental and eclectic programming agenda from creative and diverse artists. Defying the algorithm.

This case study covers the foundation of v5.0 and the work process that took us from Webflow to a custom Astro build.

“Quality, relevant content can't be spotted by an algorithm. You can't subscribe to it. You need people – actual human beings – to create or curate it.”

Kristina Halvorson, Content Strategy for the Web

Discovery

The platform is built specifically for artists, giving them the freedom to play and schedule what works for them, rather than a 24/7 streaming service. The art direction was to create our own operating system based on analog electronic devices and old software, allowing for more personalization and a GUI reminiscent of programming and command line interfaces. Music exploration and discovery were paramount, but ease of access for navigation and playing were the primary targets.

The original logo grid (6×6).

Research

Before we could begin designing the user experience, we looked at internet radio stations across the world, gathering both visual and experience data. We listed the pros and cons of each site’s features and reflected on the ones we felt were vital for a modern user experience.

We sorted our focus into two modules: primary needs and secondary cosmetic wants. The primary needs were the essential functions we needed to become a radio station, while the secondary were mostly cosmetic and there to support our operating system narrative.

Primary

  • Responsive design
  • Featured programs
  • Control panel navigation
  • Live stream (A/V capable)
  • Genre exploration
  • Chat/community features
  • Online scheduling for artists
  • Artist-first emphasis
  • Search by genres, programs, artist

Secondary

  • Customizable
  • Micro-interactions
  • Wallpaper modes
  • User accounts/login
  • Resident portal
  • Custom sounds
  • Chat/Discord
Two tape reels. Exploration, for listeners: sound, humans, community and genres. Artists: custom profiles, freedom, time and interviews.SOUNDHUMANSCOMMUNITYGENRESEXPLORATIONCUSTOM PROFILESFREEDOMTIMEINTERVIEWSARTISTS
GOALNO.1

Ultimately, we wanted to provide an experimental online radio station that gave artists the freedom to play what they want, when they want and how they want. We wanted residents to play at their own pace and focus on more intentional programming, especially at a time when content is being delivered at an alarming rate.

  • Archive for sound, conversations, and art
  • Avoid creating 24/7 programming
GOALNO.2

We found that most radio stations used real-time chat for listeners to interact with live DJs, and felt it was vital to include in the experience. The chat shows who’s online in real time and lets you log in and interact with the community.

  • Real time chat with login abilities
  • Ensure ability to access on entire site
GOALNO.3

The ability to both live stream and play pre-recorded sets felt like a vital component of a modern online radio. We didn’t want to limit the creativity artists could bring to either medium.

  • Create 2 channels for live stream and playback/featured programs
  • Navigation encourages exploration and easy playback
GOALNO.4

Without much direct user or audience data, we grouped the pathways into our experience in two categories: the casual listener and the regular returner. We didn’t want to be too experimental with our structure and wanted to preserve the general radio/player experience.

  • Familiar experience to play and stream programs
  • Navigation encourages exploration and easy playback

The experience

With our focus set on delivering the primary needs of our users rather than being tied down by KPIs and business strategy, we wanted to deliver a familiar radio experience built around our primary goals.

We wanted a genuine experience that made you feel like you were logging onto a different part of the internet, or even using a different operating system. To get there, both the visual aesthetic and the user experience had to be optimized and purposeful.

SEDR across a bank of CRT monitors
SEDR on in-flight entertainment screens

Custom build

To build this experience, I knew I had to move the site off Webflow so it could be fully customizable. Webflow let me learn and level up my front-end skills with JS, tutorials and custom workarounds, but I was finally hitting a wall with Mixcloud’s API, and for a fully authentic experience I had to get away from embeds.

I was hesitant to use AI for the project, but after experimenting with tools and talking with friends, I found it could be really helpful as a personal engineer. I could focus on the experience, design and creative functionality instead of spending more time on front-end and back-end courses.

Knowing the code to an extent was a big help in engineering creative solutions that would normally have taken hours on hours to implement. That, along with my After Effects, motion and 3D (Blender) knowledge, was an added bonus. I don’t think you’d get the same results vibe coding or having AI do most of the development and design. It also let me focus on the fun part: the design.

Tech stack

The tech stack was vital in keeping SEDR’s costs down while running as efficiently as possible. SEDR is mostly content: about a hundred program pages, artist pages and an archive. I was set on Next.js before I started hearing more about Astro, which ships plain HTML by default and only loads JS where something actually moves.

There’s no React in the project. Every interactive piece is plain TypeScript, and some only load when needed, which made the decision clear. Functionally, one of our main goals was an audio system that keeps playing between pages. Astro gave us app-like navigation without making the whole site an app.

For hosting, I started on Netlify, using it mostly as a preview host while I was building and ideating in code. The problem is that Netlify’s free plan charges 15 of 300 monthly credits per production deploy, plus credits for traffic. With Sanity, every publish triggers a rebuild, so the credits would run out. Cloudflare Pages gives me 500 free builds a month and a really clean system I can use on the go from my phone.

Every link is a full page load. The player reloads with the page, so the music stops.

The Outcome

SEDR is fully operational and live.
www.sedr.space

We’re open for registration and playing programs at a slow but steady pace. I’m now focused on our own stream server that detects when an artist is live: AzuraCast as the stream server, then a Raspberry Pi set up as a broadcast rig we can plug into and go live. Eventually, if we find a space for the station, it would be great to have one and build community around it.

Feel free to tune in and enjoy the programs.

PLANNEDPlanned signal path. A Raspberry Pi broadcast rig sends the stream to an AzuraCast server, and sedr.space shows LIVE only when the signal arrives.a. Broadcast rigRaspberry Pib. Stream serverAzuraCastOFFLINEc. sedr.spaceLive badge
Plug in and the site goes live when the signal actually arrives, not when the schedule says so.
Team
MyselfAlex RodriguezEsli IsraelEric Lichtenberg

Next Project