What’s cool is that we’ve reached the part of the AI adoption cycle where even some of my least-techy friends are now vibecoding code all sorts of interesting apps.

  • A friend who works in construction said he’s using Perplexity to vibe code an app to help truck drivers find and manage gravel pickups at quarries

  • An acquaintance told me he’s using Claude to vibe code a CRM for synagogues to track membership and help with community involvement.

  • Some guy I know even built an app that maps and rates all the best places to get coleslaw in major US cities: slawnearme.com (okay.. that was me)

  • I go to AI Tinkerers meetups here in Chicago and hear from dozens of people who have done similar side projects with Replit or Cursor or other tools.

I love it. It’s so cool to me. There’s truly never been a better moment in human history to take an idea and turn it into a real thing.

BUT, most of the folks I talk to about vibecoding never seem to actually get passed the first pass. They get stuck somewhere between a shiny front-end and an actual user. I’d guess 95% of vibecoded apps never make it to market. Let’s call it the “Last Mile Dilemma” of AI. I will explain:

The Last Mile Dilemma

The reason that most vibecoders fail to launch is because despite how easy it’s become to spike out a front-end dashboard in an afternoon with AI, two other critical pieces of the launch puzzle are still super hard:

  1. backend dev: infrastructure / data engineering

  2. distribution: sales / marketing

First let’s talk about why backend dev is still hard. My cofounder calls this the 90/90 rule: “the first 90% of the code takes 90% of the time, the remaining 10% takes the other 90%” (handling error states and edge cases, managing dependencies, making code run fast and efficient).

Which means that while yes, AI has made it 1000x easier to ship a decent-looking app or website, it’s still not very good at everything that comes after. It’s collapsed the first 90% to 0, while the rest is still in human hands.1

The second, distribution, is a tail as old as time: getting anyone to use something is always the hardest. I’ve written about this many times. AI has more or less commoditized software development (especially front-end), which makes sense given that software is the very essence of AI.

But sales is a different animal. There’s something intrinsically human about the way we communicate and justify the existence of a product to paying users. Sales touches the psyche, it’s instinctual in many ways. It’s a soft skill, it always will be.

And now that AI has made it possible for everyone to build an app this afternoon, the fight for attention has increased. The scarce resource is now a potential user’s attention and trust. A working app with no distribution is merely a hobby (most vibecoded projects are exactly that, hobbies).

Soo… who actually vibecodes and wins?

All else being equal, those who succeed at vibecoding real, revenue-generating apps have been people with exceptional judgement and taste. The winners are razor sharp about what actually matters and (more importantly) what doesnt. Which features actually provide value, and which marketing channels actually get people to click ‘buy’.

Winning at vibecoding is about knowing which 10% of the code is actually load-bearing. Knowing which bugs or errors are mission critical. Knowing where the bottlenecks are and eliminating them.

The barrier to starting something is now ~zero.
Which again is wonderful.
I mean it- you should go build the coleslaw maps app.
But the barrier to finishing hasn’t really moved.
If anything the crowding has made it a bit harder.

Best,
Ramsey

1  This is a symptom of our current state of AI, expect it will be solved later

Keep Reading