Hacker News new | past | comments | ask | show | jobs | submit login
I bootstrapped my private-journaling project into a lifestyle business (indiehackers.com)
355 points by ChanningAllen on June 25, 2019 | hide | past | favorite | 136 comments

I’m the creator of the site in question and am just seeing this thread. Happy to answer questions about motivations, costs, etc if you give me a minute to finish lunch and get back to my computer!

Congrats on the success!

The dominant advice for bootstrappers is to make a B2B product. Do you agree with this advice?

Any tips for bootstrapping going B2B? What are the biggest differentiators that a bootstrapper that really wants to go B2C should include in their product?

How can I work for you at 750words? :)

Thank you! I'm a firm believer that I agree with all advice sometimes, including my own. In that spirit, my advice that is sometimes useful is to ignore B2B and B2C labels and to look instead at what you think you can build that people would be willing to pay for. Then to test that hypothesis as early and as many times as possible. The biggest difference between bootstrapping and VC-strapping is that every step on the path of bootstrapping has to be able to sustain itself long enough to get to the next step. SaaS models are great for this because they can scale with the revenue. I'm happy to go into more detail about any of this but it's a huge topic so we'd need to narrow it down a bit more to prevent this from turning into a novel.

Honest question. Why $5 and not $10? Did you do any testing for the optimal price point?

One of the main takeaways is that it’s still running on a very old version of Rails and JQuery.

Maybe not great from a security standpoint but it shows that you do not need a Kubernetes cluster and a big HA setup and a modern language/framework for a profitable project.

Btw, the site does not load past the initial splash quote in Firefox on iOS with Tracking Protection enabled. Disabling tracking protection fully loads the page.

This is the difference between hacker news and indiehackers. People here are still dissecting the javascript virtues of the website in disbelief. Most indie hackers would agree it doesn't matter.

Focusing on technical value vs. business value.

And the site loads much faster than IH itself! I'd update it to a current version of Rails, though.

Yep, the end user doesn't really care what your FOTM tech stack is.

I'm curious why with $20K MRR it will take a Kickstarter to create a mobile app.

I don't know if this is the case here, but I think even if you don't really "need" the money, using Kickstarter can be a great way to get more exposure for a project as well as pre-selling/validating a product which reduces the risk of investing development time.

As well people willing to pay validates the market desire.

Not to mention letting backers shoulder the risk in case the project fails. It's practically free money assuming you act in good faith and don't blatantly defraud people.

Exactly. It's an excellent way to validate your idea.

The other responses were accurate. Part of it is to be able to afford a little extra help, part of it is to re-spark excitement in the project with people, and part of it is to buy a little extra time to work on it full-time since the sad truth is that without my other income we're not actually able to live in the Bay Area with a family of four even on this revenue. An alternative is to move somewhere cheaper, which we're also considering.

I also added a breakdown of costs to another comment deeper in this thread, in case that's of interest.

That immediately jumped out at me. The bay area seems like a pretty unsustainable economy for even relatively successful small businesses like yours.

He mentions mobile and internationalization. In both cases hiring consultants may be more reliable than trying to build the expertise in-house.

I've become the de facto internationalization expert at several companies and it's always rough. Everyone wants sentence structure to be simple and will fight you when you insist on something like interpolation instead of fancy string concatenation. Like Yoda, you will sound. Hmm!

And then there are straight up dodges like using Arabic numbers for everything in Japan because they have multiple counting systems. Apples and humans use different words when counting.

At the very least you will hire outside people to do the translations after you get the code in place to utilize them.

> And then there are straight up dodges like using Arabic numbers for everything in Japan because they have multiple counting systems. Apples and humans use different words when counting.

In Chinese, the Arabic numerals wouldn't get you out of this, as they replace the number, but not the measure word:

3 apples -- 三个苹果 -- 3个苹果

3 people [needing to sit in a restaurant, or being honored, or what have you] -- 三位 -- 3位.

3 cats -- 三只猫 -- 3只猫.

Will an Arabic number replace both the number and the measure word in written Japanese? What's being dodged?

It occurs to me that I should probably note that the nouns in those examples are 苹果 (apple), 人 (person), and 猫 (cat); they appear (or don't) along with the measure words they require[1] when being enumerated, 个, 位, and 只. The measure words are not part of the noun and don't occur in other contexts, e.g. 我 [I] 喜欢 [like] 吃 [to eat] 苹果 [apples].

[1] The ordinary measure word for 人 is 个, the same as for apples. 位 is more formal.

Japanese doesn't just have different measure words, but also different number words depending on the thing being counted. That said, the difference can be hidden in writing, so unless you need text-to-speech it is not much of a problem. https://en.wikipedia.org/wiki/Japanese_numerals

Is this the phenomenon you're referring to?

> In modern Japanese, cardinal numbers are given the on readings except 4 and 7, which are called yon and nana respectively. Alternate readings are used in month names, day-of-month names, and fixed phrases. For instance, the decimal fraction 4.79 is always read yon-ten nana kyū, though April, July, and September are called shi-gatsu (4th month), shichi-gatsu (7th month), and ku-gatsu (9th month) respectively. The on readings are also used when shouting out headcounts (e.g. ichi-ni-san-shi).

For names and fixed phrases, there's at least an argument that e.g. "shi" is just a part of the word historically descending from a then-current word for 4, as opposed to the word for 4 being different when it identifies April. (That argument definitely won't apply to headcounts, though.)

The decimal example made me curious whether decimal numbers like 4.79 might ever be written out in kanji rather than Arabic numerals. Decimals are enough of a recent foreign import that I might expect them not to have a native, character-based representation.

No, I believe the GP is referring to the fact that in japanese when you ask for 'four beers' the word for 'four' is different than when you ask for 'four chairs.'

I don't fully understand it, but that is what a native speaker told me.

English has some of these words too -- they're specific kinds of counters.

Paper is counted in "sheets" or "reams," for example. "I want a sheet of paper" is distinct from "I want a paper" -- outside of the context of a newspaper, the latter would be considered grammatically incorrect.

It's just that in Japanese, these are more or less standardized based on the kind of thing you're counting, so 個 for small, discrete objects, 匹 for small animals, 本 for long, thin things, 冊 for bound sheaves of paper, etc.

So as an example, an English interface could say something like "4 umbrellas", and the Japanese version could get away with something like "4 傘 [kasa, meaning 'umbrella']" if it's a list, but if it's in prose, you definitely need to be able to say "傘4本 [lit. umbrella 4-count-of-long-thin-object]" or something similar depending on the context.

Mmm... I don’t think that it’s the same concept as the sheet of paper. Ippai and hitotsu contain the number, in English you don’t say I want isheet or tsheet of paper to indicate that you want one or two sheets of paper and ipbeer or nibeer to ask for one or two beers.

Upthread, the topic is set by yorwba's comment:

>>> Japanese doesn't just have different measure words, but also different number words depending on the thing being counted.

You're talking about the measure words, not the number words.

I understand that; I mistakenly thought mrunkei was unclear about measure words.

Kirin biru ippai, tonkatsu ramen hitotsu to ask for a beer or for a ramen for the little that I remember... Definitely there is nothing similar in English.

Thus illustrating the difference between de facto expert an actual expert. And that you often get what you pay for.

For every four things I can catch that other people wouldn’t, There’s at least one thing I haven’t even heard of. Though in this case as long as the noun isn’t being interpolated I think there’s a simple in a fix for it.

You are much better off hiring someone with experience, and if you can afford it, a proper specialist.

Rule number 1 of business - never gamble with your own money!

It sounds like there's about 1 FTE to run the site. Along with other costs I can see why there isn't a lot of money for development. And it sounds like the site could use some work too, so maybe any money left for development is going back into the site.

Keep in mind it's revenue, not profit. You never know what their expenses are.

Why use your own money to scale when you can use someone else's?

And not give up any equity!

Isn't this exactly how business loans have worked for a few hundred years?

I have a successful business, but it's at risk from competition if I don't build a new factory/buy some new equipment/produce promotional videos.

These are my current revenues (I might be able to pay you back) and these are my projections (I believe I will continue to be able to pay you back).

Because he wants free money

We have no clue what his costs are. For all we know he loses money each month. There's no faster way to get me to stop listening than to tell me your revenues and omit your costs.

You're right to be skeptical when costs are omitted. Skepticism is especially warranted when you're looking at a standalone company. However, cost estimation can be a bit of a dark art, especially for side projects. Sure, the article would be better if we at least got the readily available vendor cost information: hosting, contractors, etc. That still wouldn't tell us everything though: cost of the owner's time, cost of failed prior projects, etc. In short, generating a total cost estimate involves multiple choice variables.

At any rate, do you believe his recurring costs, however you quantify them, are likely to be anywhere near $20k a month? It seems very likely that this is a profitable venture.

This is a great point. I’m the creator of 750words.com and am happy to provide loose estimation of costs if it’s useful. It’ll take me some time to put together, and I’m not at my computer, but I can share high-level numbers in a bit if it’s of interest.

Thank you! I, for one, would be keenly interested in this. I think it would enlighten about the operating costs and expenditures that are associated with this service and where they go. I'm hoping that the scrutiny of this might serve you well and you are able to get some takeaways to increase your profits. I appreciate your candidness and willing to be transparent to those ( at the head of the line, myself ) who you owe absolutely nothing to and possess zero vested interest.

Okay, I looked over our financial statement from 2018, summed a few things up that would be way too boring to provide in detail, and turned the numbers into percentages so that you don't have to do all the math in your head. Here's what I have:

2018 costs:

48% to salaries and contractors (my wife and I are the only people on payroll, and draw $60k salaries for ourselves)

12.1% to operations (health insurance, renting a desk at WeWork, minimal travel, lot of SaaS subscriptions, misc equipment and other costs)

7.5% to PayPal fees (I really need to renegotiate this)

4.9% to AWS

4.2% to payroll taxes and other business administration

23% to profit (goes to saving up to quit my job last year, finish my book, and then dedicate ourselves to this full time)

Hope that's useful! Let me know if you have any other questions about this stuff and I'll do my best to be as transparent as I can without revealing every little detail.

Update: I should also mention that the salary we draw is in now way sufficient to actually support a family of 4 in Berkeley, so since quitting my tech job last October, we've been draining our savings and preparing to find a way to turn this little business into something that could sustain us longer term. I call it our flying rickshaw (the opposite of a rocketship). Outcome still uncertain.

If anyone wants to read more of Buster's incredibly transparent updates, check out https://busterbenson.com/ and https://buster.substack.com/about. I'm a very small-time supporter/patron and enjoy Buster's approach to everything he does.

Really appreciate your transparency here. I enjoyed the whole post and liked that you were willing to respond in the comments!

Thank you! I try to do what little I can to make these things less of a black box to people who are curious.

I see that you have 4220 members that are subscription holders. I'm supposing that you have more that are active users but not Member/Patron status. What's average sessions? Is there anything you can do with the AWS allocation (ie. AWS configurations or infra swapping)? From my vantage point of what I perceives as your Service model, I'm not readily seeing any component of it that would be CPU intensive, but I'm just another guy on the Internet. I'm happy to continue my prodding in an another channel.

And yes, PayPal fees are taking money from your children.

I get about 30-40K unique sessions per month, so a little over 10% are paying users. We gave all accounts that signed up prior to going paid free lifetime accounts, and many of them still use the site... so it's a weird mix.

There's definitely stuff I can do to make AWS cheaper. Starting with just remembering to pre-pay for my instances ahead of time. One of my least favorite things to do is to log into the AWS console, so I try to do it as little as possible.

The CPU intensive part is due to autosave. When a lot of people are writing concurrently (even on the order of hundreds), that was usually what would take down the site in the old days. The site is weird in the sense that there are 10x more writes than reads, and then doing all of the linguistic analysis, badge granting, stats generating cause spikes when they happen as well. I'm @buster on Twitter if you want to continue the discussion there.

obviously i have no idea what your backend looks like but have you explored if you could get away with sending those writes to a job queue and batch the inserts for more performance? or even something like a plaintext file that gets created and put into a folder that gets read from by a background worker and then written to the db.

Thanks for the transparency! one question I have is how is your aws setup? one server on all the time or do you scale it up based on demand? could you get by on something on digital ocean or the like?

> The words you write are saved and locked away, only for you to ever look at, so you can write whatever's really on your mind without fear of it getting out.

Hmmm... Is it wrong I don't trust anyone with the data of my private ramblings.

The answer is client-side encryption. https://standardnotes.org/

Probably not wrong, but maybe over thinking it. I say that mainly to convince myself, as I feel the exact same way. I want something I can write in that's easy to access, digital, allows some free-form writing/scribbling (if possible), and is encrypted and stored in a cloud but can also be taken with me.

I've been thinking of using Apple's notes exclusively for this, but it'd be nice to have something more self contained.

I completely forgot about 750 Words. I used to use that a lot about a decade ago.

It makes sense that it went to a pay model. Maybe I'll have another go at it.

That blog post is full of interesting links, though. Well worth reading through the whole thing.

Great read! I'm glad he's finding success with it but I couldn't help to think how easy it is to accomplish this with iOS notes.

Is there any way I could read this article without enabling javascript?

Probably not. Looks like the contents is loaded from Firebase after the main page loads. Not taking sides on whether this is a good/bad thing, just answering the question.

the maker of indiehackers has said in the past that he probably wouldn't make it a SPA if he started over.

View source? :) What happens if you try to print it?

View-source and executing JS in your head, because the content is loaded dynamically :)

Printing it without executing JS first yields two blank pages. No idea why one wasn't enough.

great product, excellent story

Would like to read this, but I just get a blank page with Javascript disabled. Looks like I can't even archive the page - https://archive.fo/kLTbo. Looking at the page source code, it's completely unreadable - just a single line with a bunch of third party scripts and trackers. Disappointment over what the Web has become ensues.

The site does have an odd architecture. I can't even find the article text in one of the downloaded files. Kinda looks like they serialized a large JS object into a string inside one of the JS files, wonder if it's in there.

In addition to being un-archivable, it's probably also impossible to use with a screen reader.

Edit: ok I don't really know anything about screen readers. I just miss graceful degradation being a priority of web design.

The DOM of the loaded page clearly has the article content in it (just right click -> inspect), and is visible to a screen reader.

Pop a screenreader on for yourself and see - I just tried and it read the "empty" ember-div div and then stopped. If I have my eyes closed, I have no way of knowing content rendered 20 seconds after it finished (when the text content finally loaded).

"I disabled one of the core technologies of the modern web and it breaks things."

I get your point in general regarding the internet, but I'm not clear at all on how Javascript would be required for any of the tasks in this website.

1. Show text content

2. Make the text content look good

3. Allow submission to a comment section

All of those things can be accomplished with some or none javascript. Why make the job harder than necessary? Why screw over screenreaders?

Oh, I see there's a graph there, that probably would use some JS. But why not just hide the graph for noscript users?

I'd definitely make the main blog content display without JS... I don't think I'd do that for comments, in fact, been thinking of making something that only supports browsers with web crypto to do a pbkdf2 challenge in order to submit a comment. From there, would add a few more other pieces to sign said submission including the challenge. Although it would eliminate old browsers (and non-chrome edge), it would probably still be better than most captcha solutions.

Why not pre-render the graph and serve the pre-rendered image?

That'd be even better! I'm not sure how I'd do that off the top of my head, or if I'd bother for a blog post, but it's definitely a good idea.

I think the mouseover behavior on the graph is cool though so having both (one for javascript people, one for non-JS people) is smart.

It's completely inaccessible to screenreaders, though. I just get "Average Monthly Revenue 2012- 2018 canvas element."

Javascript might not add much value to the reader/end user, but it can/might have made building the above 3 functionalities much faster and easier for the developer. Without Javascript we simply might not have all those great content to begin with.

So if it makes the content creators' lives a bit easier, the cost of making the job harder for a small group of end users might be worthwhile.

"Just download 8 megabytes of javascript and wait 10 seconds for a page that's mainly made up of static content and should be under ~1mb and load instantly"

It's mostly text, isn't it? So more like 10kb.

The page load took a second, on a desktop tethered to 4G. Chrome says "1.6MB transferred, 6.7MB resources" presumably because Google Analytics was a cache hit. Much of that is obfuscated-looking Ember containing some SVG and JSON inlined.

A ctrl-R only loads about 20kb but still takes about half a second to render.

The page loaded in about a second for me

20.4 seconds for me, before I could see text at all.

If the SEO people are to believed, a vast majority of people would click away, what, 5 seconds into that?

Just curious, what is your connection?


How long do you think is reasonable to give gmail to load and display my interactive mailbox, on old hardware? It really annoys me.

This statement is only true for certain values of modern web.

"I need 8 megs of Javascript and a loading splash screen to display my own blog article in the 'modern web'".

No you don't.

I'm curious how you managed to post a comment about it on HN with Javascript disabled. Is it even possible to post here without using Javascript? (Maybe it is, I dunno.)

It's not about hardline blocking javascript and never running a single line of code. I run NoScript (probably similar to the parent) and block all javascript by default because I don't want anyone else executing code on my machine unless I say so. I selectively enable only the JS that is required. For HN that means enabling one file with about 150 lines of surprisingly clear code.

I had the same experience as the parent in that I could not read anything unless I enabled a ton of files and once the content became readable it was stuttering all the time while scrolling. In 2019, on a beefy 8 core machine with 32GB of memory.

I use HN with Javascript disabled and it works just fine. I'm currently posting this comment with JS disabled so to answer your question, yes it is possible.

Yes, it is possible to post a comment (or submit an article, or do just about anything else) on HN without Javascript enabled. This reply is an example. I'm using emacs-w3m to post it, and emacs-w3m does not understand Javascript.

I virtually always use HN without Javascript. It works great.

Why wouldn't it be? It's just HTML forms - with a server-side action.

I was going to say "Without Ajax?", but when replying, realized that HN creates a reply page, so you're right... html forms should be sufficient. It's not trying to do inline comments on a live page.

I just disabled Javascript in Safari. Does this work?

Want to build your own side business and save the web at the same time? Every time you come across these sites offer to convert their site to a fully static page.

I had the same problem trying to access the site with Lynx.

I have it enabled and the only thing that loads is a fluff quote and nothing else.

Archive site I believe is down for maintenance at the moment.

This site isn't the Internet Archive, which is down due to a fiber cut. https://mobile.twitter.com/internetarchive/

Ah, thank you for the clarification.

Not trying to downtalk, but it took you 11 years to pull this off? This is some massively slow growth :D

"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."


Most side projects earn negative dollars over 11 years so that growth over 11 years is probably in the top 0.1% of side project earnings. Very few people can say they grew a side project business into a $200k+ a year business.

  Not trying to downtalk
But then you went ahead and did anyway...

I think Will Farrell achieved peak lampooning of this pattern with the bit about "With all due respect, <deeply offensive and derogatory comment>."

"I said, 'With all due respect'!"

He prefaced to let OP know that he doesn’t intend to be disparaging and only wants to offer feedback. Not every critique is a personal attack...

I agree that not every critique is a personal attack. But this one is (or at least seemed like one to me). There is not one character of feedback in that sentence

I didn't see any feedback. Just a statement of questionable veracity that reads negatively, to me at least.

I wouldn't jump to that conclusion.

Given that many users here aren't native English speakers/writers, the tone that might seem obvious to you & I, might actually be completely inadvertent.

Using the :D emoji at the end is a way for the author to reiterate the "No offense but..." type statement. The problem is, if they use that, it's likely they recognize their comment can be taken the wrong way and should have just rephrased it instead of taking the easy way out with the :D.

Agree that tone is hard, but regardless there is nothing constructive about the comment.

During that time he's also worked at Twitter, Slack, Patreon, Amazon, currently writing a book, had a child, built a lot of other sites/businesses. I'd say it's incredible growth.

It is slow! No question about it. :) To be honest, most of my projects have either gotten popular fast or died slow deaths. Slow, steady growth is the anomaly and it's taken me 10 years to really appreciate how weird and special that is.

And wow, the other comments to this comment really made my day. I haven't been to Hacker News in a while but it's amazing to see that it's turned into a positive environment.

average monthly revenue back in 2012 was 2k. Nothing to scoff at for a side hustle while working full time. This guy is killing it..

Buster was doing lots of full time job stuff throughout this period. He was the head of product for the Slack Platform while I worked there. I think it’s pretty damn impressive he had time to do 750 words while having some very demanding full time roles.

On the contrary, it is actually impressive compared to many startups... the ones you usually don't hear about on here.

I know that you're not intentionally being condescending, but it definitely comes across that way.

Consider the wide variety of activities that the author has been involved in. Also consider that 750 Words was a side project, and not the primary focus of his attention.

This is an achievement worth respecting.

Pretty incredible if you consider that during that time he started another company, raised VC for it, shut it down, then worked at Twitter. He's had a whole different life while this has been slowing building in the background.

Yup, that's the difference between bootstrapped and venture-backed businesses. Bootstrapping takes time because you (largely) have to make money before you can invest that money in the business.

What a shitty comment! Go OP, you're doing great.

also June 2019 - Dec 2009 != 11 years

So what’s your mrr?


So, nobody can offer criticism unless they are producing better results?

How many NBA coaches can dunk hit a 3-pointer? Yet, the players still listen to their advice and perform better.

Just because someone can't do it themselves doesn't mean they can't offer meaningful insight.

Speaking as someone who is trying to bootstrap a product, constructive criticism is worth its weight in gold. OP's statement was critical, and included no valuable feedback which is why it's being downvoted.

"How many NBA coaches can dunk or defend? Yet, the players still listen to their advice and perform better.

Just because someone can't do it themselves doesn't mean they can't offer meaningful insight. "

This is true, but an NBA coach would never criticize Lebron by saying "Wow look how slow you were to learn how to dunk!" Where do you see the meaningful insight in that response?

I get what you're saying but I'm referring to this comment: "what's your mrr?"

Not only does it not provide any meaningful insight, it attempts to shut down the discussion of anyone who doesn't have Monthly Recurring Revenue. As if that's a qualifier to providing feedback.

Ok, I agree with that, the "MRR" comment was useless feedback on useless feedback!


Whats more, they don't even have to be from the same professions to provide insight / unique perspective which sometimes gets things out of a rut.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact