RunThrough
Back to Blog
6 min read
By Carl @ RunThrough

5 things I learned building an app as a musician

A guitarist-turned-developer shares what building a music practice app taught him about shipping software, scope creep, and trusting the process.

5 things I learned building an app as a musician

I have literally hundreds of ideas and half-finished projects on my hard drive. Song sketches, riff demos, things I recorded at 11pm when I should have been practicing. Most of them started the same way: I'd fire up Ableton or Studio One to record a quick practice take or a loop to play over, and twenty minutes later I'm adding drums and tweaking reverb and what the fuck am I even doing. I'm supposed to be working on my scales. Instead I started a production session.

That frustration is why I built RunThrough. Not because the world needed another app, but because I needed to stop losing practice sessions to the DAW black hole. Along the way, I learned some things I wasn't expecting.

1. If recording is annoying, nothing else matters

When I started building RunThrough, I was totally focused on the A/B comparison feature. Side-by-side loopable tracks, instant toggling between your current take and one from two weeks ago. I still think that's the feature that makes everything click. Being able to hear exactly what changed in your playing, whether your phrasing got better, whether you left more space, whether you made it breathe — that's the payoff.

But here's what I almost missed: I had the recording buried three screens deep. You had to start a practice session, navigate to the right spot, then you could record. By the time you got there, you'd already lost the momentum.

I compared that to what I was actually doing before the app. Voice Memos? Easy to record, but you never look at it again. A DAW? You end up with hundreds of abandoned project files that should have been practice sessions. The thing I actually needed was dead simple: open the app, press record, play. One tap. That's it.

Turns out, if the recording is annoying, nobody ever gets to the comparison.

2. Putting in the reps

I don't have data on this, but I've noticed something: a surprisingly high percentage of developers are also musicians. Or at least they played an instrument at some point. I don't think it's a coincidence.

The commitment it takes to get good at programming is weirdly similar to the commitment it takes to get good at an instrument. You can't just watch a video and then suddenly play the thing. You have to sit there. For hours. On nights and weekends, or early mornings in my case. Dedication and pain. When you're first starting guitar, you have to get through the part where your fingers are screaming and every chord change sounds terrible. That's the part that gets rid of most people.

Programming has the same filter. There always comes a day when you hit a bug you can't fix, something that makes you question whether this is even for you. Can you push through and find the solution, or do you walk away?

Both things demand the same thing: put in the reps, even when it feels like nothing is working. Especially when it feels like nothing is working.

3. Serve the song

You know the guy. He's in the guitar store playing way too fast and loud. He's the one at the open mic who treats every song like a solo contest. More notes, more speed, fill every gap, never leave space! Think Jack Black at the beginning of School of Rock. And at the end of it you don't have music. You just have a bored audience.

Building for yourself has the same trap. I'm the user, so every time I think of something I want, I can just build it. And I want to! New feature? Add it. Shortcut? Why not. One more screen? Sure. And suddenly the app is bloated with things that serve me in the moment but don't serve the actual purpose.

The lesson musicians learn, sometimes the hard way, is that you have to serve the song. Not your ego, not your technique, the song. In software it's the same: serve the user, serve the goal. Silence is as much a part of music as the notes. Restraint is as much a part of building software as the features.

4. I had to convince myself this needed to exist

The original version of this section was called "nobody wants another app." Which may or may not be true, but that's not actually the important part. The important part was convincing myself that this needed to be a thing.

I'd been getting by. Forgotten voice memos, countless Live sessions and Studio One songs languishing on my hard drive, YouTube videos scattered across a dozen sites, more money than I want to think about invested in gear and online courses, with no way to measure whether any of it was actually making me better. I had the tools and the information. They just weren't connected to each other or to any sense of progress.

What finally pushed me was the realization that I had no visibility into whether I was improving. I was practicing pretty much every day and couldn't point to a single thing that proved I was better than I was a month ago. That's a terrible feeling. And iOS gives you everything you need to build an ecosystem around that problem: audio, file management, sync, subscriptions (we all need to make a living).

Now the filter for every feature decision is simple: is this going to help you get better as a musician? Is it going to help me get better? Because I'm a customer too. If the answer isn't yes, it doesn't go in.

5. Accountability

In software development, there's always accountability for code changes. You can look at any line of code and see exactly who changed it and when. If something breaks, there's a record. No arguing about it.

Recording gives you the same thing for your playing. You played this section yesterday. You played it again today. Is your phrasing better? Did your timing lock in? Are you still rushing the same spot? The recording doesn't care about how you felt or what you intended. It just tells you what happened.

Some days you hit record and it sounds like shit. Some days it's "okay, that wasn't bad." And once in a while you hear it back and think, that's actually good. You can't control which day it's going to be. But you can show up, record it, and deal with what you hear. And over time those "actually good" days start becoming more and more frequent.

That's what keeps me building this. Not because the app is the point, but because having an honest record of where you are, and being able to compare it to where you were, is the only way I've found to actually know if the work is paying off.