Hey, I'm Vince...
I’m a self-taught developer that changed careers during the Covid pandemic. I was able to switch from education to web development by learning and building in my free time, participating in hackathons, and creating open-source projects and content.
Today, I’m currently maintaining OpenSaaS.sh, a free, open-source SaaS starter template for React and NodeJS, with Stripe, OpenAI, and AWS S3 integration.
Through a lot of focused effort on promotion and marketing, I was able to get the Open SaaS repo to 6,000 stars in a span of about 6 months.
It's been a cool journey watching the project grow, and even see people launching their own small businesses because of it.
Below, I'll share why I think it's worth it to build an open-source project and then promote and market it, as well as all the steps I've taken along the way and what I've learned while doing so.
Why you should develop (and promote) an open-source project
It may seem counter-intuitive to market a free, open-source project, but I think there’s a lot of upside to doing so.
First, there’s the obvious reason, that building an open-source piece of software helps you learn new development skills, as well as give back to the developer community. But besides learning to build something of use to other developers, you also learn a lot of other secondary skills:
- Project maintenance
- Collaborating with other developers
- Communicating effectively through docs or GitHub issues
- Marketing a dev tool or general marketing knowledge
- Building a user-friendly product and managing user expectations
These are skills that you can apply to future projects, open or closed-source, for yourself or future employers.
In other words, these are great skills to develop and ones that you can apply later when launching your own products in the future, or to level up your skills and get better job offers.
So let’s get into it.
Build something you wish existed
When I was learning how to build my first SaaS app, I wished there had been a full-featured, free SaaS template I could have used to speed up the development process. While there were some solutions out there, they were either too simple, weren’t using my preferred stack (React + NodeJS), or were just way too expensive.
That’s why I decided to build Open SaaS, a full-featured, open-source SaaS template that has everything those paid template have, but for free. 🙂
I could tell by the popularity of paid SaaS starters that there was a lot of developer interest in creating SaaS apps, so I was pretty confident that a free, open-source version would be positively received.
So, if you’re not exactly sure what to build, look at some popular closed-source apps and build an open-source alternative.
But, you don’t have to make something with the sole goal of being widely used. Chances are that if you’re building something you and your friends would use, that there are others out there that will also be happy it exists.
The aim here is to build something useful and that solves a specific problem. If you do that, you’ll be sure to find users.
Market it as if it were a paid product
I don’t have a large social media presence, or any prior experience in marketing for that matter, but the best thing I did for the success of Open SaaS was to put a lot of effort into marketing it.
In fact, I marketed it as if it were a paid product.
This might seem unnecessary, but it was a fun journey, I learned a lot about promoting software products, and the effort was worth it. Below, I’ll go into some of the approaches I took and the platforms I used.
Product Hunt / Dev Hunt
First, I checked out Product Hunt and took a look at other product launches from companies I admire. This helped me get an idea of what makes for a good launch.
I noticed that good launches have a few things in common:
- A clean, simple logo
- An engaging promotional video
- Banner/promo images that describe the product
- A consistent style that presents features without distracting
With this in mind, I created a fun promotional video, along with promotional images I used to market the launch on places like DevHunt.org and Product Hunt.
The video was super fun to make, and was pretty easy too. I used free editing software (DaVinci Resolve) and Screen Studio Pro. After creating a storyline and recording the screenshots, I put it all together with some free sound effects I found.
Now, I’m not a designer, so for the promo images I just used Canva templates to create the promotional images in a style that seemed to fit. I think they came out good enough. What I was mostly going for was consistency.
Then, as a test run, I did an initial launch on DevHunt.org, which is like Product Hunt, but strictly for dev tools! This was a good strategy because I needed to spread the word and find suitable contacts to ask for support. So this got me extra organized for the Product Hunt launch.
When the Product Hunt launch came a week later, I was ready to go, and could use the same strategies, posts, and contacts to get support for my launch. I got the #7 launch of the day, which was pretty decent.
Now, a lot of people complain that Product Hunt and the like are filled with scam launches, and that may be true. But the positive effect that launching on these platforms has is that it encourages you to be loud and promote your product.
One thing to keep in mind is that these launches are just a starting point. The point isn’t to get #1 on Product Hunt for the day, but to get your product off the ground. After you’ve done that successfully, you’ve gotta keep pushing towards the stars.
The great thing about launching a free, open-source project is that you can largely talk about it and promote it on Reddit without it getting marked as spam, although you still have to be careful how and where you post it.
So, after your launches are over, take a breather, and then start reusing your promotional content here.
For example, I had a lot of luck posting about it on places like r/webdev for their “Showoff Saturday” section, which is the only time web devs are allowed to self-promote there. I also cross-posted to r/SaaS, r/sideproject, and similar sub-reddits.
Of course, I didn’t just post to Reddit once and stop there. I continue to make periodic posts whenever I have updates or find a suitable new sub-reddit.
Another thing I like to do for continued marketing on Reddit is reply to comments of other related posts, for example where developers are asking about SaaS templates or SaaS app resources. I do this by using a free service called F5Bot, which sends me keyword notification emails for terms like “saas starter” or “saas boilerplate” on reddit. Then I can go to these posts and see if mentioning Open SaaS is relevant and helpful to those in the comments. A win-win situation. 🙂
Twitter/X
Throughout this entire journey, I was also talking about what I was doing on X/twitter, and cross-posting my promotional videos and images, as well as just making small updates on how my coding and marketing journey were going.
The main takeaway for twitter is just keep “yapping” about your work. Pretty straightforwad.
GitHub
Oh, and here’s a nice tip for you to make your project stand out more on GitHub. Go to the settings
tab on your repo, and scroll down to social preview
. Add one of your nice promo images here so that when people come across your project while exploring github, such as at https://github.com/topics it will look all nice and pretty with your image next to it. Many projects do not know about this, so yours will definitely stand out.
Once you’ve done this, make sure to also update your repo’s tags (you can include up to 20) and include all the relevant ones. This will help people find it when exploring GitHub, or through search engines.
You’ll see that when I search google for “github saas boilerplate” or similar, my repo is one of the first to appear. Nice!
Finally, look for some resource list repos on github and submit PRs to add your repo there. For example, I added mine to the very nice Awesome SaaS Boilerplates resource list. It’s not much, but every little bit counts
Now go build, launch, promote, and thrive
Overall, the process of building an open-source project and promoting it to help it grow is a long, slow process. You need patience.
The good news it that you can a learn a lot a long the way, and it is extremely rewarding. It’s crazy to see people building and launching successful SaaS apps using the open-source code I wrote, like this message from an Open SaaS user below.
I hope that someone finds these tips useful and uses them to build and promote a software project of their own.
Oh, and If you’ve got other juicy tips, I forgot to mention, please drop them in the comments!