Who writes the open-source software you use? Are they professional developers? Long-time contributors with decades of experience? Or maybe… just a college student with a big idea?
When I launched my first project, AdventureLog, back in August 2024, I was a first-time open-source contributor with a big idea—creating a modern, open-source, user-friendly travel companion. I had no formal training in web development, no background in backend architecture, and no clue what I was doing with Docker. But what I did have was curiosity, persistence, and a summer break. So, I took the leap and dove in headfirst.
After a summer of hard work and a lot of learning, I had a strong foundation for my app. It had all the basic features I was looking for and I was super excited to share it with the community. I drafted a post for r/selfhosted, and it sat in the drafts folder for a while. I was unsure if it was ready (and more importantly, if I was ready) for release. One morning, I finally decided it was the day and posted the release announcement. I had no clue that this release would be so impactful to me. I spent the rest of the next few days answering questions about the app, providing support, and fixing critical bugs. It was incredibly inspiring to see people so excited to use AdventureLog, the comments from people saying they were looking for an app like it, and all of the ways they are going to use it, truly made the whole process worth it. Seeing others find value in my work was more than validation. It was transformative.
Fast forward 10 months, 1,000 commits, and 175k docker pulls later, I am a totally different developer than when I hit publish back in August. Not only have I learned a ton about full-stack development, I more importantly have learned the value of community and building something that matters.
Now, I want to share that journey with everyone — not just the technical bits, but the community parts too. Because if you're out there, wondering whether you’re “qualified” to build something great? You are.
You don't need to be an expert to start
If you're constantly waiting to feel like you know enough to start building the project you've always wanted to, you might end up never starting at all.
I tried to follow some tutorials on Python and JavaScript, but I felt like I was learning nothing. Sure, I now know what variables and loops are, but what can I build with those? That is why once you have an idea for a project, that project should be your tutorial, and it should drive your learning forward. There is so much more growth that comes from pure applications of problems that courses will never teach you. You will run into more problems at first, but the act of learning how to solve problems effectively is much more important than being right the first try.
Build for yourself, and others will come
The best way to not get burnt out while building your project is to build something you want to use yourself. For me, I wanted an alternative to Google My Maps, and one of the most rewarding points in development was the point where I was able to move my own data over to AdventureLog once its features had surpassed My Maps.
If you are building something just to follow trends and catch views, you might get let down and burnt out quicker if it does not go exactly to plan. If you are authentic with your development and building something useful to yourself, there is a very high chance others will find it equally or even more useful to themselves.
Community is key
Building in open-source is never just about the code, it's about trust. It's one thing to have a great product, but it is equally important to have users who trust you and your developments. Delivering trust means much more than an app that does everything it's supposed to. It means listening to the community's feedback and addressing their questions both promptly and kindly.
The best part of open-source development isn't just the coding, it's the meaningful interactions and collaboration with experts from around the world who each bring their own unique perspectives. With a strong community, you will never run out of ideas for future updates! At the end of the day, the best open-source software is built collaboratively.
The self-hosting and open-source world is full of people like you and me: learning, building, improving — together.
So if you’re waiting for permission to build your dream project, this is it. We're all rooting for you, and I can't wait to see what you build!