Backstory
Right after graduating from college, I started my first company, Skritter, with my two best friends. It’s an app that helps students learning Chinese and Japanese write characters. We didn’t do anything special to get users: we created content on our blog, hosted a forum, learned about a new thing called SEO, and kept releasing new features. The company grew little by little via word of mouth. The company is now old enough to vote and is still growing.
In 2013, we all stopped working on Skritter to start our second company, CodeCombat. It’s an app that helps middle schoolers to code. We were part of the W14 YC batch. At CodeCombat, we became experts at getting onto the HackerNews front page, but most of the lasting user growth was viral. Learning to code was hot in 2014 and our product was eventually pretty good. Today, the company is several times larger than Skritter and continuing to grow.
After CodeCombat, I was experiencing burn out and decided to work a corporate gig for a while. But I learned the hard way that it’s really hard to scratch my entrepreneurial itch at a corporate gig. So I did what any sane father of 3 does: I started building some side projects in my free time.
It can be fun to build for yourself, and I’ve done it plenty of times, but it’s a lot more fun to build something that other people want. So, rather than just building the 10,000th bespoke Quantified Self app for myself, I set out to find the overlap between 1) things I want to build and 2) things that other people might want to use.
This time around, I wasn’t interested in creating another startup. I had pretty modest goals: build something that other people find valuable and maybe generate a little income on the side.
Little did I know that at some point during the intervening decade, B2C user acquisition broke.
My 3 B2C Attempts
I had a couple of ideas that I was passionate about and I thought might resonate with other people:
Never Apply
My idea here was to help people find jobs through their network. $1,000 in LinkedIn ads later and there was no engagement at all. I drew what seemed then like the natural conclusion: no one wanted this because my idea or execution were bad. No big deal, running companies has taught me that most of the stuff you try doesn’t work. Onwards to the next thing!
Here’s what the homepage looked like:
Talk with Sage
I’ve struggled with depression my entire life and I thought there might be a niche in making a much better agentic AI chatbot therapist. I did some organic Reddit content creation and also bought ads. Here too, I got literally 0 engagement. No signups, no support requests, no rants about pricing. Absolutely crickets.
Like Never Apply, I thought, well, I probably just didn’t clearly express the value-add or find the user group who would actually use this thing. Another case of poor execution or market segmentation. But it was mildly interesting to me that I’d had two absolute flops. You sort of expect things to fail when building new stuff, but getting zero signups or signs of life was a bit extreme.
Here’s what the homepage for this one looked like:
Family Caller
My grandmother was diagnosed with early stage dementia last year and her care has been challenging for my family. I offered to build this one to help my mom. I felt a lot more confident about this one because I personally know a couple of family members caring for elderly folks. They all agree it is hard, draining work. My initial run of Meta ads showed some of life, so I decided to invest a bit further.
I doubled down, iterated the product messaging and dove deeper into the actual product build. But despite that initial ads-based interest, there was almost zero engagement with the product.
And this is when I started to think that something systematic might be broken with the ecosystem, not the products I was testing. Family Caller is still live, here’s a screenshot of the homepage:
None of these ideas seemed obviously stupid. I helped to design each of the pages with a designer who is a lot better than me, and Scott helped me out and built the backend for Family Caller. True, each of them had noticeable rough edges, but I showed the pages to some friends and family without first telling them I’d made them, and the feedback was generally “this seems legit.”
Broken B2C User Acquisition
At this point I need to stress the problem: there was almost no engagement at all. It wasn’t that what we built didn’t work from a business perspective. We instrumented the apps pretty well and what we saw is that people (or maybe just bots) were looking at the pages, scrolling, and tapping, but almost nobody actually used the products.
Here’s all the stuff we tried to figure this out:
Conducted in-person UX testing. At first, I thought maybe the pages were misleading and that people were signing up thinking that each service did something else. That might explain why accounts were getting created and then going silent. So I did some UX testing with live humans: they had no problems navigating the sites or explaining what each product did.
Installed Posthog for screen recordings. Dead internet theory 101 says that most activity on websites are crawlers and bots. So I installed Posthog to give me screen recordings of sessions. You can’t tell definitively from a recording whether it’s a person or a bot, but if these were bots, they were super inefficient and idiosyncratic. I concluded that either they were sophisticated bots built to closely emulate somewhat weird human behavior or actual humans.
Installed Cloudflare’s Turnstile to screen for bots. This only partially worked and introduced noticeable bugs. Via Posthog user sessions, we were able to see that a fair number of sessions were getting Turnstile errors that broke the site for them. These weren’t “you’re a bot, no more pages for you” notices, these were “Turnstile broke everything” errors. We ended up uninstalling it.
Emailed users. I had legit-looking email addresses and I figured that if someone was willing to part with their email, they must have some shred of interest in the product. So I tried a couple of email tactics. I reached out asking for feedback. I offered first unpaid and then paid usability testing sessions. I emailed to “check in” to see if they needed help completing onboarding. I sent all of these emails personally from a Google workspace account 1 by 1 to maximize delivery. Out of the couple hundred I sent, I got one generic reply.
Installed a chat support bubble. We installed a “chat with us” feature for a while and we got … 0 chats, despite manning the chat threads myself and trying hard to ensure the users knew I wasn’t an AI agent. I guess I failed the reverse Turing Test.
After all this, I was even more convinced that B2C user acquisition might just be broken compared to a decade ago when my cofounders and I were running CodeCombat. But why?
Nobody Buys Software Anymore
I track my finances religiously and am responsible for managing our spending categories. A couple of years ago, I mentioned to my wife that even though she and I are always worried about paying for software subscriptions that we don’t use, we buy almost no software these days. Here’s a full dump of all the software that we’ve bought in the last 12 months:
Steaming entertainment: Netflix, Hulu, and Disney+
Big Tech services: Microsoft Office, Amazon Prime, Youtube Music
One-offs: TinyBeans (yearly kid photo storage subscription), Partiful (nice party invites, only 1 month for a party we hosted), Quicken (yearly subscription)
So apart from streaming entertainment (which I would argue is more akin to cable television than software) and services from FAANG / MAANG, we just aren’t buying much software.
Next, I asked a couple of my friends about this. The way I phrased the question was “apart from FAANG and streaming services, do you buy software?” The answer seems to be “not really.”
So what happened? I remember a decade ago, I bought all sorts of niche software. I had a Zeo headband with a monthly data analysis subscription, I tried the paid tier on Strava, I bought the pro plan on AllTrails, etc, etc. I wouldn’t say that I was a software spendthrift, but I certainly paid for more B2C software than I do today and I arguably had fewer problems to solve in my life. (nothing beats kids for creating life problems!)
Then I had an idea: what if this isn’t just me and my little social bubble? What if people in general are just not buying much software anymore? That would be kinda weird, but I had an easy way to sanity check my idea.
It’s Not Just Me, YC Is Funding Mostly B2B Startups Now
YCombinator has a publicly-available list of all the companies that they’ve funded: YC Startup Directory. They are funding a lot more B2B companies now than B2C:
YC has funded 5,407 companies. 2,685 are B2B, only 838 are B2C. That’s a telling statistic on its own. The single biggest startup accelerator in the world has funded approximately 3x as many B2B companies as B2C.
But if you take a look at the time trend, the data gets even more stark. I did some tedious scraping and number-crunching from public sources for you. The percentage of B2C companies that YC funds per batch has fallen from around 30% in the early 2010s to around 7% in recent cohorts.
And that number actually understates the drop. If you actually dig into the B2C companies in the most recent cohorts, most don’t monetize their products directly. IE, people aren’t paying for them, they’re ad-supported, VC-backed, or funding themselves via affiliate revenue.
So, putting this all together:
My own little side experiments have proven that user acquisition for B2C products is not working for hobbyists.
My peers and I no longer buy much software directly.
The YCombinator Startup directly provides strong evidence that B2B is where venture-scale investments pay off, not B2C.
Despite these trends, the tech industry is bigger than ever as measured by public markets and VC funding:
So what’s going on?
Some Hypotheses
After thinking about this a bit, I have a couple of hypothesis that might explain this trend, but would love to hear from readers to see whether I’m overlooking some more obvious explanations:
Software ate the world, now there’s nothing left. Andreessen may have been right that software is eating the world, but perhaps now there’s no world left. If there are 50 note-taking apps, the 51st is going to struggle to find users, even if it’s demonstrably a lot better. Maybe the problem is literally that there’s too much software.
AI bots have made user discovery impossible. Large language models are flooding product communities faster than they can be detected and removed. It’s possible that this asymmetric advantage has essentially spoiled the ability of new products to find their users. Maybe with time, defensive tactics will catch up and things will be like email spam in the early 2001s: a major problem until it isn’t any more. But for now, AI could just be ruining things. This trend applies to B2B as well: cold emailing, content marketing, and direct phone sales used to work and are no longer viable strategies. The one saving grace of B2B is that business owners are real humans that have real needs and you can sometimes talk to them.
Growing distrust of tech in general. Maybe people are turning away from tech-driven recommendation engines like ads and feeds as part of the tech backlash that kicked off in the mid-2010s. You could imagine a world where average people have just stopped trusting that they’ll get good value from any digital purchases after they struggle to cancel the subscription on their fitness app or the accumulation of dark patterns in their social networking app of choice leaves them with a bad taste in their mouth.
The middle class is finally gone. We’ve been hearing the story about wage inequality for a long time, but maybe things have finally become bad enough that mass-market apps that aren’t explicitly tailored for the top 1-10% just aren’t viable. Anecdotally, I know quite a few underemployed and unemployed people my age that are finding it extremely difficult to get jobs or save money, so this one too seems at least plausible.
Of course, it could be all of these things plus 2-3 more that I’m missing. What do you think: why is B2C broken for new startups?