Hey HN,
I'm mostly a lurker on HN who's always super inspired by other people's small project that end-up making money. (Huge fan of Ben Stoke's Tiny Project [0])
After being burnt-out in big tech, I decided to write my own weightlifting app and set myself a humble goal of reaching $1000 in total proceeds. See [1] for my initial launch post.
I've now surpassed that goal and am now making about 500$/mo by selling premium features in the app. Android version is coming soon too. Doing the whole thing end-to-end (code, launch, marketing, support) was super gratifying and taught me a whole lot. I have to admit that I got almost teary eyed the first time someone bought one of my IAPs.
I'm not making a killing out of the app, and that was never the goal. But the personal satisfaction I got out of it was worth everything. I can't pretend to have derived any life lesson that applies to everybody from this, but this whole mini-journey was worth it for me, and I hope it will be for you too, should you embark in a similar one.
Part of what attracted me to software engineering in the first place was an interest in "how things work", and being able to move between levels of abstraction (e.g. I know how IP, DNS, TCP, HTTP and JSON works, but most of the time I can just treat it as "sending objects"). So it was a bit of a eureka moment for me to realize that running a company is really just expanding the levels of abstraction that you operate with. It doesn't matter how well you code if people can't understand the user interface, so I got an interest in UX and usability. But it doesn't matter how user friendly it is, if it doesn't solve the right problem for people, so I got an interest in product development and customer research. It doesn't matter how good a product is if people never hear about it, so I got an interest in marketing and sales. And it doesn't matter how well I do all of that if I can't pay the bills, so I got an interest in pricing and monetization strategies.
Juggling all those needs, and trying to shape the company and all its aspects into a cohesive whole is just as demanding and interesting as doing the same for a software project - it's just expanding the scope of which requirements and concerns you bring into the equation. For me at least, it's also been very rewarding to do the whole thing end-to-end, and it's felt like more of a natural extension of my ever-broadening interests than I would have expected. Bookkeeping can be as annoying as debugging, but in the end I'm really grateful that I understand how each detail works.
And closing with...
> Bookkeeping can be as annoying as debugging, but in the end I'm really grateful that I understand how each detail works.
... hits home for me, haha. Never thought I was going to understand - let alone like - bookkeeping. What maybe helped, was me making my own bookkeeping app, it also forced me to understand the rules.
The variation on it I like to emphasize is: it also doesn't matter how "readable" your code is if the user/customer finds it broken, so stop trying to optimize for readability as the primary criterion.
{correctness, usability} to the customer > code maintainability > code readability
When it comes to any code I produce (with the exception of some learning projects), I try to keep it: effective, efficient and simple. In that order.
Effective is essentially what you were saying about correctness and usability from the user perspective. Peter Drucker would say to be effective is to "do the right thing." This is always an outward focused item. Does it impact the user in the right way? Does it solve the right problem? Etc. This is hands down the most important thing. Nothing else matters if you're doing the wrong thing.
In contrast, efficiency is to "do the thing right." Once you're doing the right thing, minimizing your costs, increasing your quality, making it so your code doesn't "consume the whole world" all fall under this category. Poor efficiency can negatively impact the effectiveness of your code. "It does this really cool thing, but it takes far too long to load so I can't use it."
Then lastly, keep it simple. That is not to say ignore the natural complexity of the problem, but rather to keep the solution to the essential complexity of the problem. Keeping things only as complex as they need to be covers a whole lot of dimensions in software. It makes things more explicit and understandable, it helps with code readability, and code re-usability. It decreases the surface area of what needs to be maintained. All good things for the health of the dev and the project.
It's all in that order for specific reasons. They move outside in. As the dev, I'm not the most import person with respect to the code I'm writing. The user is, and so the code needs to be purposeful to them (efficacy). Efficiency is more about the product, making sure it works properly. Keeping things simple, although it impacts efficacy and efficiency, is largely a positive for me and helps me maintain sanity.
I think it's important to note that it's all of these things, not just one of them. We'll approach tradeoffs in a prioritize way, but we're striving for the three of them. Obviously a very difficult task. But I find that approaching engineering this way has helped me grow a lot as an engineer.
Anyway, first time post here. Your comment made me think of this. Thanks for coming to my tedtalk.
If your code is correct but unreadable or disorganized, it will be hard to extend.
If your code is incorrect, but organized and readable, it will be easy to fix.
If your code is incorrect and organized, but unreadable, it will be hard to fix and extend, but easy to make it more readable, thus more extensible and fixable.
If your code is incorrect and disorganized but readable, it will be hard to fix and extend, but easy to refactor, thus more extensible and fixable.
And code is always incorrect.
I'm making about 200 USD/month by selling watermark removals on https://gifmemes.io. What I've learnt is that I'm very bad at marketing & design and will much rather spend hours programming useless features. For example I've spent like 10 hours getting an wasm ffmpeg converter of gifs to mp4s and webms, which was not used AT ALL, while most of my traffic still comes from cold-writing (is it even a term) for 1 hour random people to put links on their websites or subreddits.
The scene in the Sillicon Valley series, where Richards enhances the algorithm by 1 % is quite accurate.
On the other hand, being the solo developer and product owner is quite powerful. My implementation of billing into the app took around 2 hours, which is probably less than a meeting about it would take in a company.
Finally, I can run silly experiments. There is a button in the "Buy watermark removal" page that says "It's too expensive", which leads to 50 % discount. Around 70 % people still buy the full price.
I don't find that silly at all. At most it's a fun example of price discrimination. A fairly big online-only florist in the UK (Bloom & Wild) for example does something similar, if you enter a valid voucher code but it's only for new customers, it pops up telling you that 'but click here to apply 10% off instead' (where the voucher might've been for 25 or whatever). Clever I think - stops you thinking 'oh sod it' and shopping around.
How did you market your app and how long did it take you to build out the app?
I've built an app as well while I was doing my regular day job and recently quit the day job, mostly due to being burned out working in big tech as well.
During my break from work, I decided to try to get my app sales up, but it's challenging. (During my best month, I think I got up to $200/mo but it's more like $100/mo right now.) As many others before me have found, marketing is the key, and I'm still learning that game. So, $500/mo is really good stuff.
That said, building the app and making my users happy is something that is incredibly gratifying, and something that was missing in my previous 9-5.
The app took me about 300-400 hours to build. Regarding marketing, I've said it elsewhere in the thread but here it is again:
- Created an instagram account for the app and started following some tags. I liked post on the tags and started following some users to get them to look at my profile. Got about 150 downloads from that.
- Made a 5/3/1 Calculator website. The goal was to make something useful to boost the SEO of my domain. What really ended up happening is the calculator ranks usually number 2 on Google and then users see the link to the app in there and click on it. Got about 200 downloads from that.
- Apple Search Ads gives you $100 credit. Got a bunch of downloads with this
- I used Bing Ads credits but wasn't too impressed with what I was getting from there though
I live in the bay area, and though my rent is a lot more than $500/mo, if I put $500/mo more toward rent I really could have a much nicer apartment, for example. Or it could be the monthly payment for an EV.
$500/mo can be a nice quality of life boost even in the most expensive parts of the world even if it's not enough to live on just that.
Back when I was doing my PhD, on a $2300/mo research assistantship salary in Boston, I also built a webapp that got me ~$200-300/mo for several years and close to $900/mo for one of those years. That alone allowed me to do lots of things I wanted to do at the time (e.g. ~2 overseas vacations a year and several self-supported long distance bike trips). Savings wasn't a huge concern at the time because I knew I could get a decent-paying job post-graduation.
At a 4% safe withdrawal rate what you've built is the equivilent of saving $150,000.
You should be EXTREMELY proud of yourself, and never underestimate the power and value of the asset you've built
Saving $150,000 is, too.
Which is more likely to lead to true self-sufficiency? Barring other possibilities, the savings. But given human response to positive feedback loops, a successful dev often becomes a more successful dev overtime. Hence, I favor the "first app I wrote that made $500/mo" is more significant.
I made the valuation at 5x yearly profits.
It's an impressive creation but this is not a good way to value it.
I don't think it works.
I think the best bet by far is either to optimize your job salary (switching after 2-3 years, being proactive, trying leetcode, persuing FAANG) or following FIRE.
$500 would be 5h per month freelancing.
And to be really fair, he would first calculate all hours invested and he needs to calculate/estimate further time involvment.
For creating your own small company/business, thats probably a doable thing but still much more high risk than anything else.
You don't even have to do a small app. You can do the next Uber or Airbnb. Or you can do something that yields the same monthly amount you get from your FAANG but have the advantages of having no boss and working for yourself. And if you decide you want to do something else, you can sell it for a nice amount, while quitting your job doesn't yield you any money.
But after having failed at a startup, I realized that there is an inner sense of validation that can come from being able to successfully create a small business.
And I won't ever be able to remove that goal from my bucket list no matter how financially successful I am.
You could model the specifics differently, of course: maybe we assume the $500/month is a peak and it tapers off exponentially somehow. What sort of capital returns does this correspond to?
I haven't done the maths, so I don't know, but the fact that I can even ask the question means I've learned something from your comment that I didn't know before!
However, as others have hinted at, assuming this app will continue to generate $500 a month forever at roughly the same risk premium as a perpetuity from any remotely reputable seller is dubious at best. Major banks and insurers that have existed for several centuries have histories of selling instruments like these that actually have paid out their promised coupon value for many decades and even centuries in some cases. In contrast, the Apple App Store has existed for almost 14 years. The 5/3/1 strength program has existed for 13 years.
What are the chances this app can generate the same revenue for the next 30 years? You can't rely on just keeping the existing users due to the way lifters tend to program-hop eventually. Anyone doing 5/3/1 today is unlikely to be doing it in 30 years. Then you have to factor in the possibility of competition. I'm kind of surprised the author of the 5/3/1 books has never bothered to commission an app and apparently only distributes official spreadsheets for generating a program template and workout log. If he ever does, any unofficial app seems unlikely to survive.
Not to take away from the work. I think this is the right idea. The developer wanted something that didn't exist and made it. Whether or not you ever acquire a single customer other than yourself, I think that is worth doing. But if anyone in this comment thread truly thinks it is worth $150,000, offer him $150,000 and I'm sure he'll be glad to sell.
Even if that amount is too much for 2022 and 2023 due to higher inflation, during other years, it will be too conservative. So it evens out. Plus there’s recessions too. So the 4% is an average.
[EDIT] Thanks got it!
Essentially, those 6K a year is the equivalent of a 150K portfolio
the analogy is imperfect, because presumably the OP is spending some time to generate that app income; it's not totally passive.
Deleted Comment
Would you mind if I featured your app in our first release?
Since it's our first release, I can't guarantee any results or conversions, but the mailing list has a few hundred people on it, so it couldn't hurt...
Well done again, and wishing you continued success with your app!
Initially I would use Instagram and follow some hashtags and like people's posts and follow them to get them to look at my profile (I got about 150 downloads that way).
One day I decided I wanted to try out ReactJs and so I made a web calculator version [0]. The goal was to make something better than the current incumbent (Black Iron Beast). This turned out to be super helpful. It usually ranks number 2 on most Google queries for 5/3/1 calculators and lead to about 200 downloads for the app.
I also started using Apple App Store Search Ad with their $100 credit and honestly the result are great. Having your app show up first for some keywords is a huge boost.
[0] https://fivethreeone.app/calculator
I’m building Conjure[1] a habits, behavior and goals platform, so I track everything from ‘habits’/‘productivity’/‘quantified-self’ type keywords, to people looking for alternatives to XYZ product name, to specific questions I’ve answered before (eg organization, time tracking, building exercise habit, achievement, etc).
[0] https://syften.com
[1] https://conjure.so
Yep. Just putting out one single app by doing everything teaches you a LOT about tech and makes you start giving due respect to every single specialization that exists in tech - from development to support to marketing.
In my example, I created Video Hub App that sells for $5 (and $3.50 goes to a cost-effective charity). I'm averaging about $500 for over a year now (with almost $15,000 donated to charity).
https://videohubapp.com/ & https://github.com/whyboris/Video-Hub-App (MIT open source)
The announcement post on HN: https://news.ycombinator.com/item?id=17587992