Ask HN: Those making $500/month on side projects in 2021 – Show and tell
It seems this question hasn't been asked for some time, so I'd be interested hear what new (and old) ideas have come up.
An open Ask HN community consultation from 2021 where @folli convened hundreds of developers and bootstrappers to share real experiences, hard numbers, and tactics.
Core Principles for Independent Builders:
Participants share raw revenue figures, churn rates, and stack decisions that corporate PR never publishes.
Recurring answers reveal that distribution, not coding skill, is almost universally the rate-limiting step in developer businesses.
Practical recommendations on bookkeeping, payment gateways (Stripe vs Paddle), and freelance-to-product transitions.
Community Debate Themes:
Hundreds of active indie hackers contributed case studies, pricing heuristics, and pitfalls to avoid when moonlighting on side projects.
CATEGORY Ask HN Roundtables →
HISTORICAL ERA Pandemic Bubble (2020–2022)
COMMUNITY SCORE ★ 782 points
TOTAL DISCUSSIONS 839 comments
My 'side project' is pretty conventional, but it surprises people to learn how much I've earned from it with very little effort. At least once or twice a week, I use my lunch break to walk to the local thrift store. I look up items on eBay as I browse and buy anything that would net me $20+ (basically to cover my lunch). I stick to the 'hard goods' section (things like electronics, games, DVDs, home appliances, books, etc). I avoid clothing which is difficult to browse quickly, difficult to list and difficult to find comparable items. I also avoid anything that would be unwieldy to carry home or ship.
The first year I started doing this, I grossed about $20000. Last year was bad. Our thrift stores shut down because of Covid. In late June of this year, I started back up slowly because our thrift stores came back. My gross for the last six months is $3,238.63. And again, because of Covid, I've stopped going daily like I was which cut into my fun money.
Last year I bought a brand new pinball machine from my thrift store finds.
Some tips:
If you can go every day, you only have to look at the 'new' stuff which saves lots of time.
The eBay app has a barcode scanner so you can look up anything that's in its original packaging by just scanning it.
Don't pass up anything vintage looking that's still sealed (even if it looks worthless). I sold nearly $100 worth of new in package vintage incandescent bulbs a little while back. I got the lot of them for like $10.
Save all the boxes you have coming to your house in advance of starting this. You can't sell stuff that you can't easily box up and ship.
Never use the post office or UPS/FedEx store. You can get a significant discount through pirateship.com (free to use, offers steep US Postal and UPS discounts) or even eBay's own shipping.
EDIT: A few more tips...
Once you're shipping at least one thing a week, buy a label printer like a Rollo Thermal Printer. It will save you lots of wasted time and energy in printing out, cutting the shipping label to size, taping it to the package securely, etc.
Invest in a good industrial shipping tape gun (not those cheap little plastic ones), get good brand-name shipping tape and a couple of large rolls of bubble wrap... also, start saving the packaging that comes into your house from your online purchases to be reused.
Get a bunch of 'newsprint' packing paper for packing up your stuff.
Basically: don't cheap out on supplies.
Stay organized. I use a set of plastic bins in the basement to store my items once they're listed.
600$ a month from my open source project (https://github.com/mickael-kerjean/filestash) whose idea came from the infamous HN launch of Dropbox (https://news.ycombinator.com/item?id=8863).
I made that cool frontend for FTP server with an interesting twist as I've abstracted:
1. the backend storage: meaning it connects to a wide range of existing storage like FTP, SFTP, S3, Dropbox, ...
2. the authentication layer: meaning you can use your own identity provider to put your S3 buckets behind your corporate SSO
3. the authorization layer to create business rules
At its core, the software is a framework to develop file manager like web applications by implementing a simple interface (https://github.com/mickael-kerjean/filestash/blob/f7a4e52703e3344a6b9c97690514a1fbef9b6ced/server/common/types.go). This does enable all sort of interesting use case. For example, the mysql implementation shows database name as first level folder, tables as second level folders and each row in a table is shown as a file within the table folder which a user can edit directly through the generated form built from the schema information. That way people who are used to the Dropbox interface can edit the database directly, create shared links, search through stuff without having to know about sql
Most of the money comes from companies who needed various degree of customisation and support or didn't want to host on premise.
I started an OSS project to enable me and my team to receive webhooks at a big co where Ngrok was banned and so was SSH. It works over an HTTP proxy using websockets. One of the requirements I had was for 1st class container support - so it could be run inside a K8s pod and support LoadBalancers for TCP traffic as well as HTTPS. The OSS project was very popular, but drew very little sponsorship. I then pivoted to a commercial license and got some more sign-ups, but not as many as I wanted - companies were happy to pay up front for a one year static license, but individuals and home users were not.
So I introduced a personal tier that was covered for commercial use - inspired by Jetbrains and added a monthly subscription option for it. Both of those actions helped increase usage and signups with personal users. Companies still tend to want to pay for a year.
Even though this is completely self-hosted software, developers seem to like paying for tools monthly. Some abuse this by cancelling the subscription in the months they don't expect to use a tunnel, or opening the software then cancelling the subscription and waiting until the process has to restart before re-subscribing. Not much I can do about this side of it.
If people are interested, the product is called inlets and is easy to find on the Internet. I also write about my OSS and independent business work each week in a subscription newsletter using GitHub Sponsors (another side project, if you like)
Books I could recommend: Monetizing innovation, Obviously Awesome, 1-Page Marketing Plan & Minimalist Entrepreneur. I'm not affiliated with any of these titles, but consider them core reading for indie devs and for side gigs.
I helped my wife (a primary school teacher) start a social emotional development book & activity subscription service.
https://mybookbag.com.au/
It's slowly growing, but to be honest the pricing needs to be increased. Profit margins are paper thin (ha!). Still though, it's been fun putting together the website, integrating Stripe etc.
Biggest issue is book publishers. Wow their ordering systems are archaic!
We can't hold stock on hand because we don't know how many subscribers we'll have each month. The issue with not holding stock is that we can't get reliable stock levels from any publisher or distributor. Ordering is a matter of emailing asking for a stock list, waiting to receive the stock list, then sending an email placing the order as quickly as possible. Frequently we'll order only to have them tell us books we ordered are on back order and we'll receive them in a month or two. It doesn't matter how often we say we can't do this, they don't care. I just want to get in there and build real-time stock management and ordering for them!
This is made substantially harder by the fact my wife creates associated resources and activities for each book. We can't deliver different books to different subscribers because she'd then need to produce additional activities & resources for each of the books. There's already 8 different books each month.
When we decided it was time to start a family, I quit my job as a Software Engineer in a web agency - but I didn't want to stop working.
I started with a couple of common ideas that we always had to implement for a lot of clients and I built a couple of simple Django-based services on Digital Ocean, in the free time I had from taking care of my newborn.
Therefore right now I'm running:
- https://getgeoapi.com: a GeoLocation API with additional data
- https://currency.getgeoapi.com: a Currency Conversion API
I'm terrible at marketing, so what I did was to leverage existing marketplaces. Slowly, over months, I started to build a reputation and build a userbase.
Profits range between 1000$-1800$ and I'm planning to expand to other marketplaces (I have a lot of customer who are on Shopify, even if I don't offer a Shopify app) and build other APIs. Hopefully I'll have more time once my sons go to nursery / school.
I use Stripe for direct sales on the website and RapidAPI (ex Mashape) as a marketplace.
I can't say RapidAPI is been smooth sailing: their payment processing is riddled with fees (thanks PayPal) and there are frequent outages and issues with their proxy. Still, I think using a marketplace can be a decent approach for developers who don't want to spend their days on reddit or finding their clients.