Too Many Taps
The Friction
There’s something that has always bugged me about playing music at home. Not the music itself, but the process of getting it started. I have a speaker in the kitchen. A nice one, connected to Spotify. And every single time I want music playing, the ritual is the same: pull out my phone, unlock it, open Spotify, find something to listen to, hit play, then realize it’s playing on my phone speaker, so I go into Spotify Connect and select the kitchen speaker, then adjust the volume because it’s either way too loud or barely audible.
Six or seven steps just to get some background music going. Every time.
I kept thinking about how simple it used to be. Before all of this. A physical button. Power on the radio, press play on a CD player. One action, music fills the room. No accounts, no app switching, no device selection. Just music.
What if I could get back to that?
One Tap
So I built something. I called it Project Baton. It’s a small server that runs locally and talks to Spotify on my behalf. It knows which speaker I want, what volume works for the kitchen, and it can start playing with a single request. Under the hood, it’s just this:
curl -X POST "http://localhost:8080/play?volume=12" That’s it. One call and music starts on the kitchen speaker.
I wired it up to an iOS Shortcut and dropped it on my home screen. Now instead of the whole unlock-open-find-select-adjust dance, I just tapped one icon. Done. Music playing.
It felt great. Like I’d shaved off a tiny but persistent annoyance from my day.
Then I got a new iPhone that had the Action Button, a physical button on the side you can map to anything. I mapped it to the shortcut. Now I didn’t even need to look at my phone. Just reach over, press the button, and music starts.
Problem solved, right? Well, mostly.
Zero Taps
Here’s the thing I noticed after a few weeks. I was pressing that button at the same times every day. Get home from work, press the button. Start cooking, it’s already playing. Getting ready for bed, press the button again, and music starts playing in the kitchen, not the bedroom. The action was always the same, at the same time, with the same playlist. And sometimes not even on the right speaker.
So why was I still reaching for my phone at all?
That’s when I got the idea of scheduling it. What if the music just started playing at the right time, without me doing anything? Kitchen music at 17:00 when I’m usually starting dinner. Softer ambiance in the evening. Something warm and relaxing before bed.
I didn’t want to bolt this onto Baton though. Baton was clean, a focused little music service, and I wanted to keep it that way. Instead, I started building a separate dashboard, a control room of sorts, where I could define “scenes” and schedule them. Each scene is essentially a preset:

The dashboard sends the right command to Baton at the right time. Baton doesn’t need to know about scheduling or scenes. It just plays music when told to. Clean separation.

This was also the point where I started thinking bigger. If I have a dashboard that can trigger music scenes on a schedule, what else could it manage? That question turned into a whole home automation project, but that’s a story for another post.
Music That Complements the Day
The best part isn’t the tech. It’s what it actually feels like to live with.
I come home from work and there’s already music in the kitchen. Something with a bit of energy, but not too loud. Just enough to paint the room with some warmth while I’m cooking. I didn’t ask for it, didn’t pick it, didn’t even think about it. It’s just there.
As the evening goes on, the music transitions. It gets softer, more ambient. The kids need to go to bed, and we might watch something in the living room. The kitchen music doesn’t compete with any of that. It sits in the background, a musical backdrop that you notice only when you walk past the kitchen to get a glass of water. It’s still there, still setting a mood, but it’s not demanding attention.
And then when I head to bed, the bedroom has this super warm, relaxing atmosphere already going. The last thirty minutes before sleep, just easing into it. Some nights it transitions into white noise if I want that.
The music ends up complementing the phases of the day. Not helping exactly, but accompanying. Like a soundtrack you didn’t have to curate. The interface has completely disappeared. There’s nothing to tap, nothing to open, nothing to decide. Music is just part of the room.
That’s what I was reaching for all along, I think. Not fewer buttons, but no buttons.
The Springboard
Looking back, it’s funny how it all started with being annoyed at unlocking my phone. A five-second inconvenience that pulled me into building a music service, then a scene scheduler, then a home automation dashboard. Small problems lead to interesting places.
But the thing that made all of this possible, honestly, is the AI tooling we have now. Tools like Claude Code. Without them, each of these projects would have been a much bigger commitment. Not impossible, but the kind of thing you’d think about for a while, maybe start on a weekend, and then abandon when it got complicated. Now you can just build. You hit some friction in your day, and instead of accepting it, you spend an evening solving it. And then the next friction. And the next one. It’s compounding.
What I’ve found is that the biggest barrier to building things was never the coding itself. It was the research. You’d have a knowledge gap, and you’d spend hours or days just narrowing down what you actually need to learn before you could start. Now you can pinpoint exactly what you need from almost the first minute. You get the motivation up front because you know that what you’re spending time on is right on target. Sure, you might go down the wrong rabbit hole occasionally, but you catch yourself in hours instead of days.
So if you have your own version of “too many taps,” some small daily friction you’ve just accepted as the way things are, don’t be afraid to get started. It’s probably more solvable than you think. And the first thing you build becomes a springboard for the next one.