• 6 min read

How do you find motivation to get your side projects going?

I am doing web development for over 10 years. It all started with a free university license of Photoshop that got me into web design. I came to realize that if I wanted my designs coming to live on the web, I had to learn HTML and CSS to make it happen. Photoshop and some web development became a hobby of mine. Around the same time, I found another hobby: writing.

I always was, and still am, a big fan of games. In 2008 someone approached me to be a writer for a small website that was starting known as PlayWatchRead. Within no time, I also became involved in the design and development of the website which I kept doing until the tenth anniversary of the website in 2018.

Ever since I tried to find a balance between my hobbies to start something. For years I had an on-off relationship with my WordPress website, which was never shipped. Only recently I could put my website live and start using it. Okay, I have to admit; it was on a back burner for a few years. But over the years, I had a hard time maintaining my motivation to deliver the final product. So how did I find my motivation and kept it the last time?

Start small

Motivational process

Balancing your time for side-projects or hobbies is very difficult. It does not matter if it's a painting, website or podcast. The bigger your initial scope is, the bigger it might fail. Nothing feels worse than failing with something you love.

In all my attempts at setting up a website, I had many goals. I wanted to show the world what I could do, one part should be a blog, and finally, I wanted almost full freedom in styling. Every time I started with WordPress, it failed. Why? Because both my goals were too big, and WordPress was too big to achieve some of my goals.

Luckily for me, we live in a post-WordPress world for building websites. A static website is easy to set up these days is so much easier compared to a few years ago. But choosing the initial technical structure only solves half the problem. I had to reduce the scope, without losing sight of my goal.

Reduce your initial scope, without losing sight of your original goal

When I followed my original website idea, it would take me days if not weeks to make. This would ensure that I would lose my motivation, again. So I asked myself, what would be a smallest result that could keep me motivated? I enjoy tinkering around in the website code and be able to write a blog post now and then. So why not start with a page that shows a list of blog posts, and a page that shows a single blog post?

Small iterations

I now had my initial version of my website finally pushed live. It even had a first blog post! Now what? I had and still have so many ideas. Both for my website and posts, I can write. It's daunting to see the immense list of stuff I would like to write and incorporate. Especially because it was on two very different levels: writing and programming.

To keep my motivation, I made a deal with myself. As my professional career revolves around programming, my priority would be writing. But, with every article I write, I will implement one idea for my website or something related to it. To give you some idea, these are some of my iterations.

  • On my second blog post, I implemented a dark theme for my website;
  • After that, I improved upon the SEO, which learned me some great new stuff;
  • Next was improvements on social media sharing (e.g. ability to set an image for sharing on Twitter);
  • In my last post, I created various components in Figma to create consistent diagrams. This learned me a lot about the constraint system in Figma.
My diagram components in Figma

What? That last one has nothing to do with my website. It does not have to be a change on the website, as long as it impacts the website. So by changing my focus to Figma, I learned some new things that I can use.


But what will be my next iterations? I try to prioritize my blog posts and improvements. There are two important aspects that have impact on prioritizing. First and most important: The stuff that I am most excited about is getting the highest priority. Second, I try to combine an improvement to my website with the next blog post I write.

My website is growing in content and visitors. So I have two options in that regard already. I can make a 'pinned' article section to ensure that my favorite posts are always accessible. Another option is to create an 'about me' page, to provide more context about myself. I decided to ship the first feature together with this article.

My priorities change, and they change often

My priorities change, and they change often. As like many of you, I can get excited about completely something new whenever I read a new blog post of someone else. I use this peak excitement to boost my motivation. So my priorities have to change, and they change often. This is a good thing, as I guide my priorities based on my motivation. When you force work on yourself, even when it is something you like, you can lose motivation quicker.

Seek feedback on your work

My priorities change not only because of other blog posts I read. Often I get inspiration for new posts and improvements to my website based on feedback. I share my work with my wife, my friends and my colleagues for initial feedback. But I share my work in different communities. Here I get my most important feedback.

I started with the designs of my logo and a digital drawing on Dribbble. I share my writing on The Practical Dev. Especially for the latter, comments and discussions on my articles have inspired me to follow up on articles. Because of the constructive discussions, I have a high motivation to write those. This means that my priorities shift based on the comments of my readers!

What keeps you motivated?

As you can read, there is a flow or process in how I could finally get my website started and keep my motivation going. How do you keep motivated about your hobbies and side projects? Let me know on Twitter!

← Next

How to create a scalable and maintainable front-end architecture

Previous →

An ode to the CSS owl selector