I am one of the greatest believers in proof of work and projects. Through this newsletter issue, I plan to clear all your queries and confusion on how to build a hobby or side project, starting from the idea to the final implementation.
How does a hobby project help?
Building a product is the best way to learn any tech stack. When you develop a project, not only do you pick up the necessary skills for it but also the skills “around” it. If you are working on an android app, development is not the only job. You have to focus on everything, starting from its UI to deployment.
Hobby projects help to drive the conversation to your turf in interviews. The questions shift from DS and Algo to your project. Since you know all about it, you can answer the questions in a much better way. Projects also add brownie points to your resume. Even if you have an application that just has 10-15 downloads, put it on your CV. It’s your creation and you can always explain what you learned through it.
I don’t have an idea.
That’s absolutely fine. If you don’t know where to start or need guidance, check out the trending or recently launched projects on GitHub. You can also put a filter for the tag first-timer. Contact the maintainers. Appreciate their work and ask their motivation behind building that specific project. There’s a high chance that they will reply and let you know if they are looking for someone.
If you have some problems in mind that you want to solve, pick them up. People want to get their job done, and if your app can do that in any way, your work will be recognized.
Your project doesn’t need to be perfect, it needs to serve the purpose.
Take the example of a to-do list. Every company has its own version. In fact, individuals have their own versions. You can build your to-do list with your perspective. You may ask now: If a to-do list has already been created, why should I build another one? Just because everyone has a child, will you not have one? Every kid has the same two legs, two hands, two eyes, and the same features. But you do love your child more than any other, don’t you? It works the same way. Parenthood makes a person a better human being; projects make a programmer a better coder.
Start with simplifying an existing idea. Think of small changes and additions. And then we can take it from there.
The process
Get user feedback.
Draft your idea on paper, and create a basic landing page. Share the page with your family and friends and ask if they will buy it. Getting user feedback has been made extremely easy by social media. Leverage its power. Discuss your idea with people but not with too many people. You may get numerous features ideas that may confuse you. And the project never gets built.First, bake it, then make it.
Do not write code on day 0. Ideate well before starting work. Draft the idea in a day or two in words. Choose the essential features. An example of essential features on a to-do list maybe adding a task. Modifying tasks, deleting them, etc. will come later on in progressive versions.Create your mockup.
Draw the UI of your app on paper. Figure out the user journey, the structure of the frontend, the backend, dataflows (if any), and so on.Pick components and choose tech stack.
If your objective is to learn a new tech stack, choose the same to build your project. If your motive is to build an efficient project, go for the one that you are already good at and can optimize well.Now we build.
Start with the basics and develop the core functionalities in a strong and coherent manner.
Must-haves
These are small details that are often overlooked by young developers.
Feedback and Feature Request
Create a platform to get user feedback and feature requests. No matter how it looks, this is a necessity. It helps you understand which features need to be prioritized and what modifications you can make to ensure a better experience. Integrate a simple Google form at the very least.Analytics
It takes hardly 3 lines of code to integrate Google Analytics in any web app. This is how you will understand if people are using your application and where they are spending most of their time. It will also help you make a decision on whether the project is worth investing more in.
How to launch?
You only launch once. So the launch day and time of your project can make or break it. Do not opt for weekends as people usually relax in that period. The same goes for Monday, as people come back to the office after a break and may not have spare time. Hence, Tuesday, Wednesday, and Thursday are the most suited days for a product launch.
The time of launch is equally important. Base it on the time zone of your target audience. If your project caters to the Indian audience, launch it at a suitable IST time. If your project serves the US market, go with their time zone.
Putting out your project on one platform is not enough. You need to be greedy and reach out to people. Use ProductHunt, Twitter, HackerNews, Reddit, LinkedIn, and Instagram to share your project. Ask feedback from people who are a part of the tech community and have some following. At the same time, do not harass them and get blocked. When you start getting good feedback, you can post their screenshots to publicize your project even more.
What next?
After the initial public launch, chill for some time. And then focus on the second version of your project. Hire a designer to help you with the UI, prioritize feature requests, use the feedback and build a really great product. Make it so good that it acts as a decent source of side income for you. If you feel inhibitive in directly charging money for it, use the Patreon approach.
Always remember that the first version is to learn and the second version is to earn.
Share your hobby project stories with me.
This newsletter issue is based on a conversation I had with Rachit Gulati back in 2019. I hope it inspires you to start working on a side project. If you have already built one, tell me all about it. How did the idea come to your mind? How did you develop it? What was the user feedback? Share your answers in the comments below. Looking forward to reading them!
After a long time bhaiya loved a lot 😍
Hey Tanay,
Loved this edition as always, and the content really resonates with what I have learnt over my short experience as a developer!
I remember writing a similar blog, and went through the process of creating a side project as well. Would love if you get the time to read it!
I really like how you have summarized most of the points I covered as well, in a short and concise manner.
Link - https://kushdaga.hashnode.dev/how-to-get-started-with-building-side-projects-as-a-developer