Staying Motivated on Side Projects

I have worked on many different side projects, open source libraries and user facing services/products. While working on these projects, I have found that I sometimes struggle with staying motivated, particularly with the user facing products. I have several completed open source libraries published on GitHub, including Motif, process-warden, dagger-servlet.

My friend Nic and I started a new user facing side project this year, and I took some time for a retrospective look at our past user facing side projects prior to starting. We made some adjustments to how we went about the work that needed to be done, and it has been a success. This is the first side project that I recovered from a motivation slump and continued working on the project with a renewed vigor.

Looking back, it seemed like on past projects the biggest motivation struggle for me was that we started with what I would describe as the “fun” partb followed by the more business-oriented tasks. We would start by focusing on the actual idea, be it a mobile app or a backing service. Once the idea itself was implemented, we would start work on the other necessary tasks like user registration/authentication and marketing that must be done to launch a product. While I do still find these tasks interesting and valuable to learn, I struggle more when I run into a roadblock with these. If the roadblock takes a long time to resolve, I eventually lose motivation, and will take a break from the project. I've never recovered from one of these motivation slumps because I know when I begin working on the project I have the same set of tasks to accomplish; there is no proverbial carrot on a stick for me.

This time, we decided to take a different approach. We put the implementation of the idea itself on the back burner and immediately focused on the more business oriented tasks. We began with implementing user registration/authentication. Next, we began working/researching marketing and setting up a pre-launch landing page for beta testers. I hit a motivation slump during September, largely due to the start of Diablo III Season 4. The slump continued a couple weeks beyond when I stopped playing Diablo, but eventually my motivation returned and we kept working toward our goals. Keeping the “fun” work as a carrot on a stick has made a huge difference for me, and I will continue to approach future projects in the same way.

Another advantage of approaching the project this way is that we actually finished the implementation of user registration/authentication, and we can split that out into a reusable component that we can use in future projects. We will no longer have to try to implement that for each project we start.

Our project is called Geolode. It is a service that mobile app developers can use to provide geo-location based user interactions within their apps. This allows app developers to provide very powerful and useful features to their users without having to focus on the development of all of the server side for geo-location based queries. The app developers can focus on what they know best, and we will focus on what we know best.

We have our initial landing page up at http://geo.lodeup.com. If you are interested in becoming a beta tester or even an alpha tester, check it out and sign up for early access. You can also follow project blog at http://engineering.lodeup.com.