Day 208: When in Doubt, Ship

Back when I was getting back into programming and teaching myself React, I built a ton of music apps that no one asked for.

My apps became more complex as I got more comfortable working with the audio API, and my crowning achievements were the pitch detector (implemented the algorithm from a paper on pitch detection) and SlowTube.

There was actually one other app that I worked on for a while called Fret Learner that was designed to help me learn the notes on the guitar fretboard. It worked as a game — it would show me a note (e.g. F#) and play it, and then listen through the microphone for the same note. If I played it back, then it would increase the score and move onto the next note.

It was dope, and I was really proud of it, but I made a crucial mistake: I never shipped. I kept improving it bit by bit, and at some point, I started working on the initial version of Intention and haven’t touched it since.

I’m sure if I spent a day familiarizing myself with the code again, I can figure out how everything works and be able to release it, but now there’s a psychological hurdle because I haven’t touched it or worked with the audio API in such a long time. In order to squeeze out some improvements, I ended up producing nothing rather than something that worked and could’ve helped others.

This is a lesson I often have to remind myself of due to my perfectionist tendencies: When in doubt, ship!