Earlier this week, I released BMBX[1] on the App Store. 🎉

Screenshots of the main player, station library, and song history


The app is deceptively simple, with just a handful of launch features:

  • Live streaming for tens-of-thousands of stations around the world
  • Automatic song identification: artist, track, and artwork display
  • Song playback history, with links to view in Apple Music
  • Personalized station catalog, with a global, searchable database of stations, as well as the ability to add custom URLs, artwork, and station information
  • Station sync across devices through iCloud
  • System integration with Siri and Now Playing controls

In some ways, it’s a little embarrassing to talk about how long it took to go from the idea to this week’s launch. I’ve previously written about the story behind BMBX. If you read that post, it becomes clear pretty quickly that it definitely isn’t a Ninety Days app.

When I step back and think about the journey, however, it’s a good example of how difficult it is to create minimal, simple products. There are dozens of subtle decisions that contributed to the minimalistic experience that BMBX presents, as well as a lot of behind-the-scenes details that make things look simple, when they’re really not.

That work took time: hundreds of test builds, lots of feedback from friends and TestFlight users, and dozens of sketches, stickies, and shower thoughts to land on the simple experince that BMBX 1.0 is.

Also… life gets in the way of hobbies. 🤷🏻‍♂️


The hardest part of getting the app released was non-technical: it was pricing.[2]

I believe software is valuable. Digital experiences have been devastatingly commoditized by venture capital, advertisers, and mega corporations that use loss-leaders to build their enterprises. These behaviors distort user expectations of software and the value users place on it.

I knew BMBX wasn’t going to be a source of meaningful revenue for me. I’ve had apps that made interesting money, but even those weren’t “quit your day job” money, and radio streaming is already a commoditized space. I also really didn’t want BMBX to be motivated by money. I built it because I wanted it to exist, and believed others would enjoy and appreciate it as well.

So that’s why BMBX is free.

In some ways, this feels really fair. The content the app delivers doesn’t cost me anything personally. Everything is publicly available online, and the database powering the station discovery is a community-supported effort. Syncing and initial station catalog features are driven by iCloud, so I don’t have any server costs associated with running the app.

The app is definitely standing on a lot of shoulders.

But I also believe there’s value in what I’ve created: a simple, elegant streaming app for music that integrates with my phone’s features, and brings some unique features to the table. And it’s a strong foundation to build out other features.

Some of those features will require some kind of purchase. More on that another day.

What’s Next

For now, I’m enjoying having released a new app after taking a break for a couple years. I’ve started working on a couple of bug fixes based on user feedback, and have started sketching out more concrete ideas for features I kept in the backlog for 1.0.

The backlog also includes quite a few ideas about some blog posts I want to share. I learned quite a bit during the development of the app, and built some ideas in the project code I think others might find interesting.

Thanks to everyone who has tested the app, and shared feedback and ideas along the way. It’s been a blast to build, and I’m looking forward to continuing to work on it. It’s an app I use every day, which makes it easy to stay enthusiastic about it’s improvement.

  1. The letters B-M-B-X are a nod to callsigns of broadcast radio. They are also an abbreviation for “boombox,” which is what I usually call the app. ↩︎

  2. My pal Mario can attest to the dozens of texts where I rubber ducked pricing with him. ↩︎