Ask HN: Successful one-person online businesses?
This question was asked a few years ago (https://news.ycombinator.com/item?id=22858035) by committed, and I'm curious what it looks nowadays.
> How many people on hacker news are running successful online businesses on their own? What is your business and how did you get started?
> Defining successful as a profitable business which provides the majority of the owners income.
> Have any recent trends affected your business?
150 comments
[ 0.20 ms ] story [ 227 ms ] threadhttps://microconf.com/
Microconf is dedicated to mostly bootstrapped SaaS founders and has a lot of members and content who fit the description above
https://www.startupsfortherestofus.com
Youtube:
https://www.youtube.com/microconf
I made it after Google shut down their Chrome Web Store Payments system and I realized how annoying it was to take payments in extensions. So I made it for my own extensions and also for anyone who wanted to try monetizing their extensions with payments. The included library is open source if anyone is curious: https://github.com/glench/ExtPay
So far it's made extension developers around $175k. Pretty cool!
I mostly ran the websites in to the ground with my custom wannabe frameworks on $5 dollar VPS's and lost interest. 2021 I sold the remaining three income generating websites for just shy of 1mill US.
I started the projects with a second person but ended up buying out their interest and running solo. I consider it success because I managed to last over a decade making on avg $400,000/year gross with that business "umbrella".
Advertising and publishing changed and continues to change by leaps and bounds on a yearly schedule. A lot good a lot bad, but its the same business over the years.
Well, not end users. They're getting ads.
But I would assume that ad buyers and publishers have exclusive improvements. After all, it's not like the ad companies took a substantially smaller cut. It either lowers the cost to ad buyers or it increases the revenue to publishers. Since it's pretty much the same number, it doesn't seem both can be true.
I think advertising is a powerful way to support 'free'ish content and there are ways to use advertising tastefully. People who don't want to participate have options to opt out and are obviously welcome to not make server requests.
Right, not sure why we didn't think of that sooner.
I’ll just ignore the part about what you said about end users other than to say it’s arguable.
Since ad buyers pay per conversion, I don't actually think it helps them to increase the conversion rate.
Alternatively think about the flipside, how in the world could you possibly think having a lower conversion rate is good for the ad buyer? A 0% rate?
I mean, obviously it's different at the extremes like 0% vs 100%, but I doubt header-bidding produces that great an effect.
> Well, not end users. They're getting ads.
Why not? Would you prefer ads, or ads with terrible javascript loaders?
I think the time when the church thought they could buy out that market segment, has passed.
I built an MVP on a 5 dollar VPS. But I had to recently upgrade to a 12 dollar VPS as some of my analytics process were being stopped because of low memory. Aside from writing better code, I found out that using linux utils/app via system calls is the most effective solution as nothing I can write can ever be even remotely as performant as something like grep.
I am following a similiar path to yours but my stack is a bit complicated.
Python + SQLite on VPS
Vue/Nuxt + Auth on Firebase
The process is extremely hacky and experimental, so it might change. I am not planning to use a proper backend as the Python scripts communicates to the Firebase via its SDK. That is working for me at this moment and eliminates writing boilerplate API code.
I don't know... from what I've used of Python it is pretty memory heavy and doesn't do well left alone unsupervised. I could be wrong but that was my experience trying various Py web frameworks.
My app servers were all $5 VPS with only nginx, PHP/php-fpm, and Memcached. PHP was cached, nginx assets were cached, and data was cached in RAM with Memcached which was updated from remote DB server on cache expire.
I would then stack as many of those behind a load balancer as needed (nginx as reverse proxy basically) and scaled up to serving 100's of terabytes of data monthly and billions of page views.
So while it was "$5 VPS" it was really a small cloud of them behind another $5 vps as a load balancer with a $25 database server supporting the data. Still cheaper than Amazon for equivalent loads.
Have you consideres productize/templatize this stack and selling some kind license/supporting deal? Although a more marketable solution will be a redis + node based stack.
uhhh it's really just a basic install of freebsd and a bunch of shell scripts! As far as I'm concerned anyone with a bit of time could google fu themselves in to production.
I am always happy to, and have, contracted to build similar setups for other people for CDN delivery, etc, but that was just another day in the life of a sysadmin basically.
Email in profile if you have any other questions.
Over the years I have played with sqlite and postgress. I keep coming back to Mariadb for my web apps.
I can't say it's had very much production load testing, but using the site myself it seems to work fine.
https://wcedmisten.fyi/post/stateful-webapp-on-7-68-budget/
https://github.com/wcedmisten/python-nextjs-template
I use mainly flask and restful flask. However restful flask has been deprecated, so I was really interested in FastAPI. Then someone pointed out the number of open issues on the FastAPI project, so I got spooked. Flask maybe has quite a few frameworks for implementing rest API. Not sure what the future holds for Flask.
As you pointed out
> A backend comes with all sorts of baggage: databases, managing user data, authentication, backups, and increased server load.
With Flask being a microframework and barebones, going through this list becomes a chore unless you have built dozens of webapp and have some kind of template.
So I kinda gave up on web-backend entirely and moved towards firebase. Most of the complicated stuff will happen on the VPS side of things and will be communicated to firebase via the SDK.
Probably a trade-off with cost I'm guessing. For my project I was trying to get the cost as low as possible, since it's just a side project for me.
Interesting point about the open issues, I didn't notice that, but does seem like it could be an issue for the longevity of the project.
However, I believe (based on vague memories) that there used to be a ton of issues on the fastapi repo that were basically support requests. Going throw some closed issues, it seems that these were closed and/or converted to discussions.
For purely sequential reads of data from disk, sure.
TIL. Thank you very much.
I always wanted to invest more time in postgres, but I just find the Windows environment to be clunky when working with it. Like psql isn't supported in a windows environment (last time I check few months ago), and setting up the postgres environment on WSL was quite annoying as you have to figure out port forwarding.
I know setting up a postgres on a local machine directly or even without docker may not be a mature decision, but that is the hacky reason, why I keep going back to sqlite, as it is the easiest solution to get started with a database.
But hey, nothing wrong with easy, usually. :)
Once I started to feel limited by google sheets, I upgraded to SQLite. I will invest in postgres once I hit the ceilling with SQLite.
On the VM:
- Nodejs + React SSR
- Nginx
- Certbot to manage my SSL cert
- Integrated with Grafana's cloud service (free tier)
Outside of the VM:
- Managed MongoDB cluster
- API health check's every 3 min with email alerts (I use multiple uptime services to check from different regions) - DB backup cron jobs, backups are stored in 2 cloud providers
- Service desk for customer's to send queries/raise issues
- Alerts if CPU/RAM usage is too high (never got an alert for the past 2 years)
I also nuke the VM once a year and re-provision otherwise you have to maintain the OS, do cleanup etc.
Future work:
- Find way to backup my DNS records
- Probably need to monitor the SSL cert expiration in case certbot breaks
- CI/CD
> nuke the VM once a year and re-provision otherwise you have to maintain the OS, do cleanup etc
That is really interesting. What are you using to re-setup your entire infrastructure after purging a VM? How do you manage the down time between one vm purge to setting up the next one.
I would love to know, going beyond the VPS what is your total infrastructure + maintenance cost.
I set things up again on the new VM manually. I have a runbook for it, usually takes me 30 mins or less.
To not have any downtime I keep the old VM up and attach a new public IP to the new VM. I then update the DNS records and after a while when the new IP is mapped to my domain I then stop the old VM.
Costs:
Managed Mongodb cluster: $9 but I share it between multiple side projects so let's say $3
API health checks - free! I use digital ocean and fresh ping
Service Desk - free! I use Jira
DNS: Usually $0.3
DB backups: within the free tier on both cloud providers. I have it set to only keep the last x backups so this should always be free
Cron job to run the backup: I have a serverless function for this, still within the free tier
SSL cert - free because I use let's encrypt
Docker image storage costs: <$1
Total ~$9.5
Docker Image - Since I'm running this most of the operation on AWS I use ECR
Count how many responses you're providing for a single request. Reduce them.
See what can be done in parallel or out of order, do that.
Check requests through time of day. Eliminate overload.
I run heavy traffic EC sites on $20-30 VPS and can't imagine why you would need more, unless you do data analysis on same node.
Fancy things like Vue/Nuxt are cool, but do you actually need it?
That’s our Hitler!
Are you able to help me with these questions?
1. How did you decide which services to start? Did you have any criteria on what types of services you did and didn't want to start?
2. Was all of the income from those services advertising? Or were you charging users directly for some?
3. After it was built, how did you market a service and attract users?
It's a great tool with infinite use cases. I'm glad that it's a successful business for you!
Are there any feature requests / product directions that have been requested, that you’ve rejected / neglected? For better or worse.
Solo building is often about hard decisions on what NOT to do. And with a generic piece of software like this, I imagine there are plenty of niche operators asking for “just one thing to make it perfect for xxxxx”
The biggest thing I learned is to basically do nothing on the product, unless its needed. I used to be tempted to change things/add features for fun and for a challenge but its a mistake. The reason is it might introduce bugs. Too many customers and big companies rely on virtualhere now day-to-day and the software is complex enough that its hard to tell if the bug was always there or just from the new addition. Im very relucatnt to even upgrade the compiler unless i have to for a new OS etc.
XP sure but win7?
Though I guess I should've expected that on a comment thread about businesses, heh~
Yeah, that's... how I found out? It actually took me around a minute to find that once I started looking for some sort of download. Maybe I just scan websites differently than you do, but it was somehow difficult.
And another batch: https://blog.kowalczyk.info/article/81714acf995e4968bb220684...
There's also @levelsio who's killing it with multi-million / year solo business: https://blog.kowalczyk.info/article/de943f80c7924745abf9405f...
https://pinboard.in/
https://idlewords.com/about.htm
https://news.ycombinator.com/user?id=idlewords
https://wikipedia.org/wiki/Maciej_Cegłowski
I handle the customer service and outsource the upkeep of the B2C tools. Most of my time is spent on bizdev for the B2B licensing, which is where most of the revenue comes from.
We have seen some slowdown in new conversations with B2B partners. Companies that are laying people off have a hard time justifying new outside partnerships/costs, even when those partnerships are structured to increase revenue and profits. But we've still done some important deals in the last couple months, and we're still moving forward in talks with companies large and small.
Some larger companies have even said that it may be easier to structure a deal now, since they otherwise would have been pressured to hire new employees to achieve a certain goal. Now they aren't allowed to hire, so the door is more open to a partnership with a company like BeeLine Reader. I imagine pricing conversations will be more constrained, however.
1: http://www.beelinereader.com
I've had an intentionally-small business that I've been working on for a few years now, but I keep getting distracted by my desire to work on the stack itself instead of the core business offering. I've done a very good job of replacing Shopify with WooCommerce, Google Analytics with Plausible, exploring about every static site generator as a replacement for my slow CMS, automating my social media content, etc. I've done an absolutely shitty job of growing the actual core business. Particularly for those of you coming from jobs in a corporate environment, how do you keep your focus on your core offering instead of spending all of your time "fixing" your tech stack?
The answer should be obvious. You are selling the end product, not your tech stack. For an early stage company there is zero benefit to wasting time on pointless engineering purism. You should use as much SaaS and other pre-built software as you possibly can and spend 100% of your effort on your core offering.
I think the mentality is that by having a better tech stack the product will be better and also more "future-proof". Personally, I always spend (waste) time upgrading all the libraries to the latest versions and maintain the code up to the current standards. Maybe it doesn't really improve the product, but it gives me confidence that I am always ready to implement whatever features or most recent improvements in technology I could take advantage of.
Please note that you have to get an actual deal (i.e. contract/payment) before you start coding. I've fallen way too much in the trap where I didn't get a written commitment to "if you have this I will buy". This has never worked for me.
Edit: some additional clarification
The core business makes enough. Not a lot, but enough. I treat this as permission to do things that don't help the bottom line.
Only thing that worked for me was stimulants.
That's basically all I care about now as a one-person business. Too much support load means I get burnt out and can't work on the stuff I enjoy (coding). Too little revenue means I can't continue operating the business.
By thinking about the features in these terms it has helped me be clear about which features are really important to me right now. So if my support load is too high, I work on features that will reduce it.
I've actually had this conversation with a SWer friend before, and she wouldn't budge over sharing 0% ["I have an EXPENSIVE lifestyle" she twits]!
LOL. Never spent a dollar on such stupidity, and would only do it for profit-sharing with some hard-working debutante =P
Funny how that works.
It's a website + mobile apps that help users track what they're watching (TV shows and movies).
I wouldn't say trends over the years affected the business much, but I'm playing with the ChatGPT API currently to try and improve some aspects of the functionality and maybe add some new cool AI powered features - so there's that.
https://i.imgur.com/Hc5taiX.png
The most important Premium features are listed there.
https://i.imgur.com/Hc5taiX.png
But (as a non-premium user) I noticed I can't see my entire movie watch list. Was that a recent change?
I would have liked better transparency about not being able to see all the movies I added before I added them, but I realize as a non-paid user I pretty much just get what I get.
There was no recent change affecting the movies list (other than some design tweaks which wouldn't limit the number of movies you see in your list).
Definitely an exceptionally-diminishing amount of users will be able to create increasingly-complex content which will demand higher wages for an even smaller subset of users/creators of GPT/image -type "creation."
How are you individually using it to increasing television/movie suggestions... beyond (hey GPT "What would you recommend if user A & B liked X but A & B did not agree on show Y nor Z?")?
https://www.lunadio.com/blog/the-story-of-a-unicorn-solo-fou...
https://www.reddit.com/r/IAmA/comments/i8j5te/i_made_a_free_...
I personally consume payment notifications from Stripe or PayPal, and the rest is processed in-house: updating sales records, generating QR code tickets, sending invites to a private conferencing server, and so on.
[0] https://handmadecities.com
Could you share what some of the biggest challenges were? Something like handling concurrent purchases/carts, or?
This is definitely one of the challenges, since the majority of ticket sales happen in bursts.
Another big one is Stripe or PayPal making mistakes: duplicate events might be sent to my server but that doesn't mean someone bought two tickets. Perhaps an event failed to be sent at all. Or the payment event is fake (rare, but must be managed.)
A final example is that somewhere in the registration flow there's a network glitch: perhaps a confirmation email wasn't sent because the email API was down. How do you patch up these "holes" in a customer's record ASAP? All of these problems might influence and amplify each other too.
Anyway it's definitely solvable but requires programmer effort to scale and fail / recover gracefully.
Started 5 years ago next month.
Flight/hotel/car rental search, plus deals that I find for Australians.
Running it is actually fairly easy. It started as a deals site, then I added in some whitelabeled software, mailing list, fb page, and frankly it's a numbers game - more visitors = more ads/affiliate revenue.
It's not huge, but it's been interesting at least, and very little in the way of expenses.
Started that company about 10 years ago. It's a social network for online publishers. Thankfully, sites join mostly through word of mouth and advertisers mostly set their campaigns to renew monthly, so I usually focus on product development.
I also recently launched https://www.forourschool.org
A free platform for schools that they can use to run their activity based fundraisers (e.g. Read-A-Thons). I build it for my kids' school but made it so any school can use it. Now that my kids' Read-A-Thon is over (increased their donations by almost 50% yoy!), I am working on updates to it and hopefully bringing it to more schools.
I write more about it here: https://sahillavingia.com/work
It was a natural outgrowth of working remote and then async to lean on the hourly contractor model.
It’s a little tough to scale, so we built some custom software to do payroll, contracts, etc: https://flexile.com
And I've been making products within the Better Sheets umbrella myself in sheets. The developer is helping to add features to the site, but if/when they leave I can continue running completely solo. It's been my full time income for the past 1 year, and I expect to continue running it for a decade or more, at this rate.
I'm continually learning more ruby on rails to keep building tools baked into the site. And will ultimately combine Google Sheet integrated tools into Better Sheets instead of keeping them separate as it is now.
Better Sheets started as a purely content site. I started with with a carrd page and gumroad payment. Now it's all types of contents, courses, blogs, and tools. As well as a library of tutorials.
The recent trend of AI has made my extremely excited to keep building. I built a Google Sheets AI assistant: https://asa.bettersheets.co/ and will continue to work on it until Google releases their own and probably keep working on my even with a Google Sheets AI from Google. As I imagine I can take it in a iterated/pivoted direction once I see what they do release.
The total revenue each year, with roughly 40% going into my pocket each year.
1st Year: $34,000
2nd Year: $67,000
3rd Year: $95,000
I am happy to report that I am now running a very successful one-person business and killing it!
Only joking... I'm still reading HN posts about successful one-person businesses for inspiration and working for the man. Time does fly though...
Never give up
[1] - https://remoteleaf.com
I run a small one-person business in a niche industry selling a 'widget'. Profitable from day 1, pays all the bills but is not the sole income.
Got started by seeing a need in an adjacent industry and building the product. I do everything myself: dev, qa, support, everything. It's not too bad at this size, and I can probably scale and continue on my own at 10x the demand.
Word of mouth keeps things rolling so far and recent trends haven't impacted me much.
Someone else posted and I second, spending (wasting?) time on the "stack" instead of the product offering or marketing is easy to do and rarely benefits things. It's hard to do things like advertising or product refinement which I don't find interesting.
In my own blue-collar version of this [i.e. starting my own residential electric service after an IBEW apprenticeship, licensed] W-o-Mouth was gold. I never advertised, not even from day one. The second I walked into local builders'/realtors' offices, my services were in demand and kept busy by turning out good work.
I will warn anybody thinking that running ANY kind of business is some kind of "luxurious relaxed mocha bong latté," I just want to warn you that you will work very difficult situations, with increasingly-difficult customers, the higher your hourly / contract rate becomes — there is a "sweet spot" that I would recommend not surpassing, and you'll know this when awakening to dread, daily for months.
Re: your last paragraph: definitely "feature creep" is not a user generator nor retainer [i.e. do not bloatware your simpleware!].