Recently a friend of mine who works as a machinist supervisor reached out to me asking if I could help write a simple app to assist him with one of his machines.

The machine in question is a gear shaper that dates back to the 1940s, and requires the configuration of ~60 gears into four slots & 10 gear combinations into two. Each combination requires equal ratios between other parts of the machine. Below is a page from the original manual explaining it in better detail.

Normally, a machinist would manually calculate several gear combinations, then try each until he finds one that works. As you can imagine, this is a very time consuming process.

I recently began playing around in Golang and thought this could be a great application for it. I really enjoy the simplicity to compile down to run on any OS.

The end result was an simple to use application that prints out every possible combination. It is now saving his company a handful of hours every single week. It's simple solutions like this that I really love building. Every day, I see something around me that can and should be automated freeing up more time in our lives.