Take Counter

You don't have to reinvent the wheel to build something valuable.

Take Counter
The Take Counter Electron app
GitHub - kclapper/TakeCounter: A take counter for recording sessions
A take counter for recording sessions . Contribute to kclapper/TakeCounter development by creating an account on GitHub.

Not everything needs to be new under the sun, and sometimes the simplest things can be very helpful. For a great example, look at Take Counter, a Mac app I built for a friend. He's a recording engineer at Power Station NYC and wanted an app to display the current take during recording sessions. The killer feature would be global keyboard shortcuts. From any other app he wanted to be able to type a keyboard shortcut to increment, decrement, or reset the count.

When he told me he wanted an app to do this I asked, "do you have 30 minutes?" Counting apps are the first thing people build when they're learning a new programming language or UI framework, so I knew it would be simple to build. I had a decent understanding of Reactjs and I knew I could use it with Electron to build a native Mac app. It ended up taking about an hour instead of 30 minutes, but we had a working prototype rather quickly. The keyboard shortcuts weren't global, but otherwise it did almost everything he wanted.

We decided to keep working on it, and eventually it grew a settings menu and re-assignable global keyboard shortcuts. Sharing the executable was a bit of a pain. We were using Signal to communicate and it meant having to produce a build and attach it to the signal message, which was slow and inconvenient when it came to installing on my friend's studio computers.

To make this easier, I built a CI/CD pipeline with GitHub Actions. When I created a new development release, it would run all of the tests, build the executable, then upload it to an AWS S3 bucket. From there I could share a link with my friend, making it easy to download and install. Since it's a Reactjs app at it's heart, I also had the CI/CD pipeline deploy it to the web, here. You can't use the global keyboard shortcuts on the web, but everything else works.

Take Counter isn't terribly special. It does not do anything innovative or new, yet it's still very useful. It's purpose built to do one specific thing and that's exactly what my friend uses it for. Other recording engineers at the studio have commented on Take Counter and asked where they can get it too. A big takeaway I've had is that not everything needs to be groundbreaking to be useful. Take Counter isn't going to be a Fortune 500 company, but if your goal is to build a useful piece of software, all you need to do is listen to people and attend to their needs.

Software development is already fun, but it's even more rewarding when you know the program you're writing is going to make someone's life easier or make them happy.