How I build side projects

I have decided to use this platform to share some of the "subjective" opinions and practices I follow or have followed in the past in my journey as a software engineer.

I hope we get to learn from one another, share experiences and have conversations around these practices and techniques.

For this article, I'll be going about the steps I take when trying to bring a small idea to life in the form of a side project. I'm assuming a lot of people have different approaches but I'd be outlining mine here.

Step 1 - Ideation

At this step, the light bulb just turned on, and I had just gone "What if...?". This is when the first version of the idea pops into my head, and you see me staring into the clouds trying to picture how this could come out.

At this step I often come up with a name instantly and pen just the name down to my todo list on Microsoft Todo.

I used to use Todoist but Aaron introduced me to Microsoft's Todo and it's been great but you can use any tool of your choice.

Step 2 - Outline

At this step, I document my thoughts as it comes to me on the overall purpose and flow of the application. Steps users need to take, resources I need to get some things done - this may include third party APIs and even use cases that the project may apply.

Below is an example of these steps for a recent side project called - CleanRepos.

example project steps

Step 3 - Build and Deployment.

Not much to say here, this is where actual development is done following all the things already outlined. At this stage, I already know what I intend to do and what I need to do it.

Step 4 - Promote.

For your work to speak for you, you need to give the work an audience. This is important for the project to get the visibility that it needs.

I struggle with this recently, but it's important to shamelessly promote your project so that it can accomplish what you set out to achieve with it. Share on your social network and among friends.

Following all these steps, the next things is usually moving on to the next project or focusing on maintenance.