Home Blog How I made working on my side project more enjoyable and rewarding

"How I made working on my side project more enjoyable and rewarding"

How I made working on my side project more enjoyable and rewarding

For the past four years I’ve been working on a side project called PunchlistHero, (the new “stable” version will be released in two weeks) and I think it’s still very interesting and it helps me to learn new things about marketing and programming. But how do I find the time to really work on it?

Being able to quickly get work done

It’s all about being able to get started on it quickly. For the past few weeks I had a few allocated slots of 3 hours that I wanted to use to work on my side project. But setting up took 45 minutes, then I messed around with some new code I didn’t really understand, and after everything, wrote about 10 lines of CSS. So it took me 3 hours to write 10 lines of CSS. This was very frustrating to me and I was very annoyed with myself for not having done anything in all that time.

Motivation to get anything more than small tasks done, is difficult to come by.

I decided it was time for a change in my work habit. I set up a very basic docker environment and set up a few commands to start the project and run a few commands in the development environment. I could now start to write code within 5 minutes. Problem 1 was solved. But we’re not there yet! Motivation to get anything more than small tasks done, is difficult to come by.

Motivation to do the work

I solved this by making to do lists and constantly refactoring this list, making the tasks smaller and smaller. So a bigger task like: “build a pricing module”, would turn into: “create a payment plan in stripe”, “create a payment form”, “create a payment success page”, “create a payment failed page”, and lastly “create a subscription status page”. The pricing module task is very large and vague and you have no clue where to start or what to do to complete the task. But by refactoring, I slowly gave this task meaning and a direction. I pointed out which parts were needed to complete the full task, a way to capture payments, to ask users for payment information, and status pages to tell the users what is going on with their payment.

Getting feedback about the current direction of your project

Finding new tasks to work on becomes more difficult as your project becomes larger and/or more stable. This is why every once in a while I’ll think of something to add to the system, but often it gets shut down by the users, because to understand what the users really wants, you need to ask the users what they really want. Finding out what they really want and need from your project is a huge motivation boost to build THAT feature that will help to add value to your project for your users.

To understand what the users really wants, you need to ask the users what they really want.

Every time I’m stuck, or not sure how to continue, I have a Skype conversation with somebody that works with my project every single day and ask what can be improved. This often leads to interesting new ways of doing things.

For example: in my project, PunchlistHero, there is a process which allows you to add a picture to an issue you’re assigning to a specific trade. This picture helps describing a problem a contractor finds in a home during the inspection. An issue during this process, you can’t take multiple pictures, because if you do, the file input gets cleared and refilled with a new file. It’s a multiple file input, so if you have taken the pictures already, then you can easily add them at the same time, but adding pictures, one after another doesn’t work. The Skype conversation brought this problem to the light and helped me to come up with a solution that will instantly improve the usability of the system for this user.

This is how I come up with new features or improvements, to make the project more useful for its users.

Conclusion

So there are three ways that I make working on my side project more enjoyable: being able to work on it quickly, so I can add stuff when I have a lot of time, or very little time; finding more motivation to work on the project by making the tasks smaller and easier to do when you have very little time; and getting feedback from actual users about how they’re using the project and what they’d like to see improved or changed. This helps you get inspired by others using something you’ve made to make their own lives better.

Posted on: October 17th, 2018

I help you achieve great SEO, higher conversions, and help you grow your business

Contact me now to start growing your business online

Roelof Jan Elsinga