Recently, I posted on my LinkedIn about using projects to get experience. Now, the term "project" is a broad brush. It covers everything from - full-product clones like clones of Facebook to small bash scripts to original creations.

Clones are a great way to try your hands in software development. You can use them to learn what concepts are used in a real product.

Eg - Want to get an Android developer job, try making an email app similar to Gmail.

Want to get an RoR job, try making Facebook using Rails.

You get the idea.

But clones can get boring. You don't want to build a clone of an app that exists. There is no adventure. There is limited passion. And with that comes the risk of losing interest and eventually dropping the project.

If that's you, I have some good news. I am also like that and I am unable to simply clone an app. What worked for me was building new apps out of my imagination.

How do you get ideas for original apps?

Simple. Just build something you need. Some examples below.

  • If you are a hardcore gamer, build something that can make your gaming experience more fun. Eg - I built this Bot Editor for Counter Strike. It helps you edit game config files through a neat GUI.
  • If you are a terminal geek, build a ZSH plugin that gives you the features you want. (let's be honest, we are never satisfied with our terminals, there is always something missing)
  • If you love shopping, build something that tracks prices of your favorite products across various sites and gives you an alert if price drops.
  • If you believe in astrology, learn it and build an astrology calculator.
  • If you are a gym nut, build a custom graphing dashboard for tracking personal bests(PBs).
  • If you are someone who likes to track everything in their life, like sleep, walking steps, work hours, etc, then build a custom system to collect and show your data.
  • If you like soccer, build a TouchBar extension that shows you match scores right in your TouchBar.
  • If you are a finance freak, build the financial aggregator system you want.

Sure, some of the things that you need have been already built by someone. Forget about them. Focus on something you need that is not built yet.

At this point, you might be thinking - other apps do 90% of what I want. Why do I go the extra step of building my own thing? Here are 4 solid reasons why.

  • Building something you are passionate about allows you to stick with it, which ensures more learning as you increase project scope.
  • No one wants to use your perfect Gmail clone but if you build an original email app, some people would want to use it. Suddenly, you have users and you are adding value to their lives. This is a great feeling.
  • An original project deployed on App Store, Play Store or web is a great portfolio addition.
  • An original project makes you stand out in the hiring process. You are now a software developer with some product management experience.

At this point, hopefully, I have convinced you of how and why to make original software.

In the next part, I will cover how to market your creation.