I have listened to podcasts like Startups for the Rest of Us for the past 10 years or so, vicariously living through the hosts as they start up new solo ventures and stair step up to bigger and bigger companies. I bought and devoured Rob Walling's Start Small Stay Small in June of 2010. I've been to MicroConf. I've been reading, listening, and thinking about creating a bootstrapped product for a long, long time.
So, what happened? Life! I have two kids, a wife, and a mortgage. I also have a pretty incredible job which has given me tons of opportunity to learn new skills and work in multiple different business contexts. My day job provides a lot of the flexibility of a startup without any of the risk. I realize that isn't normal and I'm in a privileged position. My day job is pretty unique, but alas... it's not perfect.
I've been fascinated with startups for a long time. It stems from the ability to create something that people need from nothing. Unlike lots of other bootstrappers and entrepreneurs, startups were never to provide work flexibility, or to avoid office politics, or to be my own boss. Mostly, I just want to have agency to create something of my own where I control the whole process.
Even though I've been consuming information about bootstrapped businesses for a long time, I ignored a lot of the (well intentioned) advice to start small and build up to a SaaS product. I even wrote the outline of a book at one point for one-time sales. But, the thought of spending a lot of time writing was incredibly daunting. It just didn't seem "fun" to me. I don't want to do something that felt like a slog.
But, I write code after my day job because... I love it. It's my hobby. I love learning new approaches and solving new problems. I like figuring out the puzzle of how a library works. Coding provides a dopamine rush when I figure things out. Building webapps is something I already know how to do and, bonus!, I usually learn adjacent skills for my nine-to-five, as well.
Side projects require me to work across the entire stack unlike my day job which is mostly focused on backend Python. They exercise different parts of my brain when thinking about how to design a page or how to market a product.
Over the years I have come up with multiple ideas for SaaS projects. I got a lot of them to a functional MVP, albeit with limited features. Most of them were to "scratch my own itch" so building them was really the only benefit I was looking for. I learned technical skills building products this way, but building in a vacuum is never a great way to build what others need!
None of my previous side projects were financially successful until I stumbled onto something new at the beginning of the pandemic.
The first step
At the beginning of the pandemic I was pretty restless and bored, so I started working on a fullstack framework for Django named
Unicorn (read more details in the Django Unicorn series). After putting in a ton of work building out the functionality, writing documentation, creating example code, and recording screenshares I enabled GitHub Sponsors on a lark.
To my amazement someone sponsored me! It was the first time someone had paid money for something I had created on my own. It was a great feeling to realize that I had released something useful enough for a stranger to chip in a few dollars every month to encourage me.
I realized that creating products for developers might be one way to stair step my way to successively bigger products. I understand the audience because I am a part of it.
Unicorn was a good first step to learn marketing approaches for developers and build a small audience with long-form articles on dev.to, tweets, posting to sub-reddits and aggregator sites, and giving a conference talk.
The second step?
I have done a little more marketing and I have a little more confidence. So, I promptly started building Sponsorama, an analytics platform for GitHub Sponsors, as an offshoot of my experience with dealing with sponsors for
Like my previous projects, I built an MVP primarily for myself. But, then I did a bunch of exploratory research and realized that the market for GitHub Sponsors analytics would be pretty small. There just aren't that many projects with enough sponsors to make paying for it viable.
I had fallen into the trap of building something that I wanted, but not solving a pain point for others.
The low point
At this point, I got seriously demotivated.
I wrestled with the thought that I wasted time building something that no one wants.
But, I had always thought I was just building projects for myself, so why was I being so hard on myself?
After having a tiny bit of success with
Unicorn I realized how valuable it was to get feedback from others. Feedback in open-source projects primarily comes from GitHub Issues and Discussions. However, I get even more satisfaction when strangers bring
Unicorn up as a solution in Reddit threads, new followers on Twitter, or especially when I get a new GitHub Sponsor.
To be clear, I view a new Sponsor less about the monetary value and more symbolic of the value I provided for someone else. However, it does provide tangible feedback as well. Personally, I was just excited that my sponsors cover my hosting costs for the documentation site!
At the same time, I was also browsing the newly released Microacquire and marveling at how niche some of the products were and the crazy revenue multiples products were requesting. Reading about other products on Microacquire, IndieHackers, and other podcasts I listen to was creating a sense of intense FOMO.
But, again... why?! I never wanted to build a multi-million dollar enterprise. It was at this point that I realized I needed to be more explicit about my personal goals. What was I actually trying to achieve? Just like startups with lots of venture capital approach building a business differently than a bootstrapper, I needed to approach creating a product my own way.
- Have a SaaS product that generates semi-passive income (i.e. not a course or book)
- Support should be minimal or able to be automated
- $1,000 monthly recurring revenue
- Create something on my own (i.e. no co-founder or partner)
- Use Python (and preferably Django) since it's what I have the most experience with
- Be able to give back to the community and help others
My goals are pretty specific to my situation. I don't want to quit my 9-5 job or replace a full-time salary, so my revenue expectations are pretty low compared to what others might want. However, 1,000/month still seems like a stretch to me! The number is arbitrary, but I picked it because it's a round number which feels attainable, but also very out of reach to me right now.
After getting clarity around my current goals, I stumbled onto a little bit of potential luck.
To be continued...
Top comments (3)
The intro is almost my life story: family, kids, mortgage, python and django, writing a book, aiming to be my own boss... :)
In the beginning of the year, I officially launched 1st-things-1st.com/, a SaaS based on Django and ReactJS. Unfortunately, the project is not profitable yet. And I am realising that coding skills are not enough. Sales and marketing are no less important for successful SaaS.
So good luck! And contact me in person if you want to exchange some details about SaaS development and small business.
Yep, I definitely realize that launching something isn't the end goal -- it's the beginning! Then starts marketing, SEO, getting the word out, etc., etc. Finding product-market-founder fit is super tricky, too! Now I just need to write a new post with my continued thinking about this. :)
What I noticed from the last months of learnings about marketing: the marketing should start before the launch while building or even before starting to build something. Otherwise, you won't get enough people interested.
One of the common practices is having a website with a form to subscribe for information about your product launch. Another approach is having a crowdfunding campaign.
These approaches let you evaluate how necessary the product could be for other people.
And for SEO, it's necessary to have a unique product name and domain name. As well as create some blog content while developing, to get indexed and get higher search-engine rankings pretty soon.