Lessons Learned from Building Hobby Explore: My First MVP Journey
Tags: webdev, coding, buildinpublic, design
Published: 2024-04-25 02:04:00

After almost 3 months of hard work and dedication with the final version and another 5 with the previous ones, I've finished my first minimum viable product, Hobby Explore. This is an application that allows you to share your hobbies with other people, and you're also able to see other people's.

However, this process was far from easy. I spent countless hours building 5 different versions, refactoring code, building features and getting feedback from other developers. 

This helped me to develop both my coding skills and my mindset towards building coding projects. That's why I'm sharing here the most important lessons I learned building this project!

## First Lesson - Give time to yourself and your ideas

![Old version of Hobby Explore](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1zsl0ucltww449g2wckv.png)


Let's say you have a great idea for a SAAS product and you develop its first version in 5 weeks. You don't like it and you think it's not a good idea to finish.

What if you gave it more time? I built the first version of Hobby Explore in 1 month, and I was thinking the same even after building new versions. It wasn't until I landed my first job and finished other clients' projects that I developed the skills to build the final production version, which I'm really proud of. 

Remember, keep developing your skills and trusting your ideas. You don't know if you're going to make it with one of them.

## Second Lesson - Experiment and Get Feedback

![An image of the different versions of the landing page for Hobby Explore](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m1xmzip9wzayypcv8j3s.png)


Let me tell you a fun fact. The first 3 versions of Hobby Explore were made to experiment with backend development using Express, Node.js and MongoDB to fetch mockup hobbies from the Bored API. Yes, I wasn't even thinking about creating a Social Media App. It wasn't until I shared the idea with other developers that they asked me to add the functionality to create different hobbies. 

I decided to implement it, and the functionality wasn't the best thing in the world, but hey, at least I built the foundation for the MVP.

## Third Lesson - Accept Opportunities and Listen to Others' Ideas

![Opportunities](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/63xsim8uh11wf2ixnjso.jpg)

Most of the ideas for the actual MVP and the core UI/UX design were suggested by a designer. He's called Wayne, and he helped me to plan functionalities such as the tips and the user customization in Hobby Explore. Wayne, if you're reading this, you're amazing, and you did an amazing job! Always have someone who can support you throughout the development of your product. 

If that's not your case, you can ask for feedback from other developers and your friends, and you can also promote the product you've been building on social media. That's also a good opportunity to improve your product as people get to know it.

## Fourth Lesson - Enjoy the journey and improve as you go
![Coding Hobby Explore](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l5q9rzxxbl5rxlm6qy5l.png)
Even if you're not able to monetize your product or it wasn't as good as you expected, you must feel proud of yourself. You were able to learn new technologies, overcome challenges and experiment with different functionalities and libraries. 

You've also met new people and you've grown as an individual. If you were able to finish one of your best projects, then you can keep building cool stuff and eventually achieve your goals. Iterate, my friend.

## Fifth Lesson - Plan and structure your projects
![An image of the UI design of Hobby Explore made in Figma](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c6fe3yx2nzel0jnxgf04.png)

I cannot stress enough the importance of planning your projects. From the design to the actual functionalities and data structures. It helps you to:

1. Gain clarity and vision: By planning you understand better what you want to achieve and how you think you're going to achieve it.

2. Save time: It saves you time from making mistakes and changing data structures, functions and variables in your code in the future.

3. Achieve goals: By saving time and making better choices when building your project, you're likely to achieve your goals faster. A goal doesn't need to be finishing the whole product. You can use SMART goals and set goals like creating a UI component or developing an API endpoint.

4. Release higher-quality products: So you save time, you gain clarity, and you've achieved your goals. Now, you can also plan your tests through different edge cases to create higher-quality code and make your application more scalable and easier to maintain. 

For example, I spent hours writing tests for the most important functionality of Hobby Explore, the one that allows you to create hobbies through dropzones. It wasn't easy, and I had to learn React Testing Library and Vitest, but it was worth it.

## Conclusion
Building a MVP from scratch can be an exciting experience where you can improve different skills, meet new individuals and share your product with the world. That's why I shared the 5 most important lessons I learned with my application called Hobby Explore. I've covered topics from planning to creativity, inspiring others to trust their own ideas and build unique apps!

Thank you so much for reading this blog article! I hope you've learned something new and if you've built a product, let me know some of the main lessons you learned building it in the comments.

[You can see my project, Hobby Explore, here.](https://hobby-explore.vercel.app/)