DEV Community

Cover image for Building a side project for developers - Part 1
James Cardona
James Cardona

Posted on • Originally published at Medium

Building a side project for developers - Part 1

Introduction

What is the idea of this series?, I'll be talking about my experience, and I will share my journey of building a side project. I will share the process, the challenges, the learnings, and the outcomes. I started this journey because I wanted to learn new technologies, improve my skills, and have fun. I hope this series will inspire you to start your side project.

Most importantly, even though I'm not an expert, I'm still learning. The idea is to create an AI SaaS application. I will share the process of finding the idea, the technologies that I will use, the architecture, the design, the development, the deployment, and most importantly my goals.

What is a side project? A side project is a project that you work on in your free time. It can be a hobby, a way to build auto-discipline, that is the first reason that I started this journey; I want to have something to push me to learn, to explore new things, not only developer things. Something that you can have in mind, a side project is not only to get money; it's a way to improve yourself.

For who?

This question can have multiple answers. But the short answer is everyone can build a Side Project, you don't need to have technical skills. In my short experience, the only skill that you need is the "desire to learn and explore new things", because you will find a lot of challenges, Do you have time? Do you have a good idea? Do you have the right skills? Do you have a bunch of projects that you started but never finished?

I know this could be overwhelming, but where do you begin? What should you create? How you can balance your time? All of these questions are part of the challenge but try not to overthink, just start, just do it. So are you ready to start your side project? Let's go!

Why side projects?

There are a lot of reasons to start a side project, this is not part of your main job, but you can use this like a "takeoff ramp" to your career, here are some reasons to start:

  • Improving Skills
  • Portfolio Building
  • Problem-Solving
  • Networking
  • Create a passive income

The experience that you'll get after creating or building a side project is something that can use to improve your main job or get new opportunities, the goal is to have a goal, try to achieve it, and learn with the process.
Not all side projects are to get money, some side projects can be a way to explore things that you can't do in your daily.

How to find ideas?

The truth is I don't have a strong answer for this, but the reality is that you can find ideas everywhere.
Here are some tips to find ideas:

  • The first place to start is what problems are you facing in your daily life.
  • Follow people who are building side projects, you can find a lot of inspiration.
  • Don't be afraid to look for inspiration in other projects, you can improve it, make it better, or more easy to use.
  • If you are looking to change your developer career, you can start with a small project.

What I'm doing right now, is solving a problem that I have and following some small project looking to learn new technologies.

How to start?

Everyone needs to create a framework that helps to start and finish the project. I'm going to share my current framework, but you can create your own, the most important thing is things that help me may not help you.

1) what is the goal of building a side project, do you want to create an income or do you want to improve your skills?

2) Choose the goal of your project, what do you want to achieve?
Image your project with all the features that you want to have, and after that, you can start to create an MVP (Minimum Viable Product) which is a version of a new product that allows you to collect the maximum amount of validated learning about customers with the least effort. That MVP can be one or two main features of your project.

3) You need to create a routine to work on your project, you need to be consistent start with a small goal, and increase the complexity.
Example: start with one hour per day. You can divide that hour into small fragments of time, don't need to be one hour straight. Thing what is the best way to be productive and in balance with your life?

4) Use tools to help you to collect data, track your progress, and help you to be more productive.
Examples: Notion, Trello, Excalidraw, Miro, Figma, ClickUp, etc.

5) Write a list of your skills
We need to know what we are good at, and what we need to improve, this list can help you to find the right project for you, also we want to be faster in the execution, so if we have a good idea of what is easy for me we can start with that.

6) Create a Budget
Do you need to spend money on this project? If yes, how much? Can you use tools to help me to reduce the costs?

7) Start sharing your progress, to collect feedback.

My personal Notion Setup

1) Ideas Book: This space is dedicated to jotting down ideas that come to mind or are stumbled upon. The approach is simple: record the idea without overthinking it, knowing that refinement can come later. Sometimes, only the title of the problem is noted initially, with plans to revisit and enhance it later.

2) Control tower: Here I have a board with many things related to my side project, here the ideas became projects.

  • A page to track the progress and task.
  • A page to write some important notes from learning videos, posts, or books.
  • Track the expenses
  • Save other tools that help me to build the projects.

3) When starting a project, a new page is typically created with the next basic structure.

  • ⚡ Problem: This section outlines the problem or pain point that your project aims to address. It provides context for why your project or product exists in the first place.
  • ✅ Solution: Here, you describe the solution you propose to solve the problem identified in the previous section. This could include features, technologies, or methodologies that you plan to implement.
  • ❓ Define the Why: This section dives deeper into the motivations behind your project. It explores the underlying reasons why addressing this particular problem is important, both to you as the creator and to potential users or stakeholders.
  • 👮 Market competitors: Here, you analyze the competitive landscape surrounding your project. This includes identifying existing solutions or competitors in the market, understanding their strengths and weaknesses, and determining how your project differentiates itself.
  • 🌟 Value-Props: This section highlights the unique value propositions of your project. It articulates the key benefits or advantages that users will gain by using your solution, helping to communicate its value effectively.
  • 💻 MVP: MVP stands for Minimum Viable Product. In this section, you outline the core features and functionalities that constitute the minimum version of your product needed to address the problem and deliver value to users. It focuses on essential elements to validate your idea and gather feedback.
  • 🚀 Launch strategy: Here, you detail your plan for launching your project or product to the market. This includes considerations such as target audience, marketing channels, timing, and any promotional activities or events.
  • 🔄 Iterate (after 🚀 Launch): This section emphasizes the importance of ongoing iteration and improvement even after the initial launch. It highlights the iterative nature of product development, where feedback from users and market insights inform continuous refinement and enhancement.
  • 📪 Associated tasks: This section lists any additional tasks or actions related to the project that need to be addressed. (Todo, In-progress, Done)

Conclusion

In conclusion, embarking on a side project journey offers a plethora of opportunities for personal and professional growth. Whether it's to enhance skills, build a portfolio, solve problems, network, or even generate passive income, the benefits are manifold.

Finding ideas may seem daunting, but they can stem from everyday challenges, inspiration from others' projects, or a desire to innovate.

Establishing a structured approach, like the framework shared here, helps to navigate the complexities of side project development, from setting goals to leveraging tools for productivity and feedback. Ultimately, the journey of building a side project is as much about the process as it is about the outcome, offering valuable lessons and experiences along the way. So, if you're ready to embark on your side project adventure, remember: to just start, embrace the challenges, and enjoy the ride.

Tip

To succeed in your side project, assess your available time and resources realistically. It's important to acknowledge that the project may take longer than anticipated, but the flexibility of launching it on your own schedule can be advantageous.

If you can allocate time for your project, here are practical ways to track your availability:

  • Establish a schedule: Utilize time tracking software to designate blocks of time for personal activities, work, and your side project.
  • Rise earlier: Consider waking up an hour earlier each day to carve out extra time for your side project without compromising your primary job commitments.
  • Prioritize your time to achieve your MVP.

Sneak Peek of Part 2

Thank you for reading this far. Consider giving it a like, sharing it, and staying tuned for future articles. Feel free to contact me via LinkedIn.

References

Top comments (6)

Collapse
 
dev188007 profile image
Agile FullStack Web Developer

👍 Great!!
Honestly, in my spare time, I also like to exercise my programming skills to make them more clean and effective and develop my side projects in my own habit.
It is very fun and exciting because I can do everything that I want.
However, I was confusing how to make my work on the side projects in a more effective and productive way.
Absolutely, your blog helped me in this way.
Thanks.

Collapse
 
jamescardona11 profile image
James Cardona

🙌 Thank you for sharing your experience!
I'm happy this helps you.

Collapse
 
el_ranu profile image
Mariano Vicario

Right now I'm releasing my side project.
Here is my first post. Any feedback will be appreciated
dev.to/el_ranu/explaining-llavero-...

Collapse
 
jamescardona11 profile image
James Cardona

It's a very nice concept; I hope you will continue posting updates.
I love the explanations.

Kudos.

Collapse
 
cheikhnouha profile image
Cheikhnouha

So so siked

Collapse
 
jamescardona11 profile image
James Cardona

:O