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?
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?
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.
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 in the comments or on Twitter!
Top comments (13)
I think another thing to remember about side projects is that they are YOUR projects. You don't have to design an architecture which would make Uncle Bob shed tears of joy or ensure perfect test coverage or anything else for that matter. If you want to do so, by all means do so. But do what you want with it. It's your masterpiece, so have some fun with it!
Maybe I read into this a bit too much, but it seems like you feel compelled to blog sometimes even when you don't want to. What's the worst thing that could happen if you stopped blogging to work on a totally random project that excites you?
I realized I originally started learning to program to make video games and I never have even tried to do so. I want to learn to write some retro games that would run on an N64 or a Wii. I think it's time to chase that vision...as soon as I get these damn bills paid :(
In my case blogging itself was not the thing holding me back, it was the jump to setup the entire website around it. I like having a website and tinker around, but many aspects were holding me back. As described, creating a WordPress website that felt really like my website years ago was quite a time-investment. Just because it was total overkill for my own use-case. I really enjoy doing web-development, especially CSS or even creating my own visuals. So when I create a website I don't just want to take some template and change stuff, I want to create it from scratch (as much as possible). Because this took much more time back then (especially because it was a side project), my ideas for my website already changed before I finished the previous idea. This would ensure that I would loose motivations on two aspects: because I had no website, there was no point in writing blogs, and because I had new ideas, I lost motivation to finish the old idea.
Great post - starting small is more important than most people realize. Just start with something fun, silly, and unassuming! If you get really interested in it, then it will quickly grow anyway - so don't worry about that from the start.
And never be scared to throw it away. If you had fun and/or learned from it, it was definitely worth it. But if your interest fades, throw it away (or put it on hold, which is a little less dramatic) and seek something else to start with
Absolutely! That's one reason I like messing around with new ideas in codesandbox or codepen instead of making a new github repo each time... github repos stick around forever by default! So you always feel bad about that one side project you started 2 years ago that's still in your repo list.... :)
I think we tend to overthink our side projects because of fear. I suffer from this too.
The architecture and planning parts are a safe playground for our ideas where we can feel like we're accomplishing something when we're not (in most of the cases). This attitude also has the side-effect of making us lazy, procrastinate more, accomplish nothing, feel guilty and let the project. Then we start a new one repeating the same mistakes and never break the cycle.
As you mention, starting small, prioritizing, rearranging continuously, and doing at least a minor part a week, a month is better than nothing and will help our momentum to continue pushing the project forward. And if you fail to complete the task at hand for whatever reason (because always something will happen that can deviate us), remember don't be hard on yourself.
The first 33.3% duration: I am motivated because I am almost always solving my own problems. Also, the thought that one more side project means more mistakes really excites me! (I really look forward to making mistakes)
The next 33.3% duration: The joy of seeing a solution getting build in front of my eyes, the design and experience decisions etc keep me going.
The next 33.3% duration: The excitement of getting a product out in front of others! The excitement of getting feedback!
Very cool way to look at it, thanks for sharing your view!
Small wins are super important to keep the momentum going on a project. I try to tell people about my project and sometimes involve them as collaborators. Anytime there is someone who's waiting to see what I'm working on, I find myself more motivated to work!
I think sharing work at all levels is really great for feedback, I'm definitely trying to get better at that myself.
Thanks for writing this!
This is an amazing post. I have been experiencing the very same issues you were in the beginning. I'm going to try to implement your methods and see how I get on.
Thanks! Curious to know how it will work for you!