Death of the Killer App

I was telling a friend yesterday about how most of my development time is going to Winesky, but a non-insignificant amount of mental bandwidth is going to exploring other side projects, ideas, and small applications that mostly have personal use.

He remarked something along the lines of:

Maybe that’s why we haven’t gotten a “killer app” that integrates AI — everyone is chasing personal side project after side project, so the killer app doesn’t get built.

I disagreed at the time, and having thought about it overnight, I disagree even more for reasons that hadn’t occurred to me back then.

The point I raised at the time was that we don’t need to build a killer app with an LLM at all (or one that integrates it). The concept of a “killer app” came about because a new platform had to find a way to justify its existence — it needed something users could do there that they couldn’t do anywhere else.

LLMs don’t need to carry that burden (and can by themselves be a killer app for people, something I’ll get into below).

What they do, however, is make personal applications possible incredibly fast, at negligible cost. And that opens up something I don’t believe we’ve ever quite had before. Combine:

  • The ease of personal app creation;
  • The fact that you get to distribute your static web app for free using Cloudflare; and
  • The arbitrage opportunity afforded by ATProto storage

…and the cost of a tiny app accidentally finding an audience drops to roughly nothing. If for whatever reason your personal app ends up scratching an itch that it turns out a couple million people also had, it can become a killer app for them — with effectively zero scaling cost to you.

Which brings me back to why LLMs don’t need to be integrated into some new killer app — there are killer LLM uses out there already, they’re just not the same for everyone.

Claude Code was the thing that sold me on the model, and I don’t see myself creating applications without it now; for someone else it might be automating their life (whereas I refuse to give it access to anything that isn’t versioned and backed up). I know someone who does an active back-and-forth with their model of choice before sitting down to write, and now considers it fundamental to their pipeline; whereas I only use Claude for proofreading and could live without it (even if more mistakes would escape).

A model is malleable enough that a single facet can be reason enough for one person — a killer app for them, even if nobody else finds that facet relevant.

This is much like how your little personal application doesn’t need to find a mass audience to justify its existence. You can run whatever tiny personal code fulfills a personal need off just a domain name and a PDS (which you don’t even need to host yourself!).

But we are entering a world into which the weirdest little thing can end up tapping an unexpected zeitgeist accidentally, for free — something that becomes even more likely as developers start seeing in-protocol data as building blocks.

It’s fascinating. I hope things get real weird, real fast.