I learned more from my startup failure than from any success I’ve had. And right now, watching the AI coding revolution, I’m seeing the same pattern that killed my company: tools that promise transformation but miss the actual constraint.
David’s thread got me thinking hard about this productivity paradox. Let me share what I’m seeing from the design and builder perspective.
The disconnect in the data
Let’s lay out the numbers that don’t add up:
- 92% of developers use AI coding tools daily (near-universal adoption)
- AI-driven onboarding: 30-40% faster than manual processes
- Each DX improvement = 13 min/week saved per developer
- Simple tasks (restructuring, tests): 90% speedup with AI
- Yet real-world productivity: only 10% improvement
How do you get 92% adoption, massive time savings on specific tasks, and DX improvements… but barely move the needle on overall productivity?
What my failed startup taught me
Back in 2019, we built a visual programming platform. Beautiful interface. Drag-and-drop everything. “Build apps without code!”
We had users who loved it. Testimonials about how fast they could prototype. Metrics showing 5x faster time-to-first-screen compared to traditional dev.
And yet… adoption stalled. People prototyped fast, then got stuck. The tool was amazing at the easy part. But software isn’t just the easy part.
Sound familiar?
Where AI actually helps (my real experience)
I use Cursor and v0 every day for side projects. The 90% speedup number? That’s real, but only for specific tasks:
What’s genuinely 90% faster:
- Scaffolding components (“create a card component with these props”)
- Writing tests (especially boilerplate unit tests)
- Restructuring code (refactoring, moving files)
- Converting designs to code (v0 is shockingly good at this)
What’s maybe 10-20% faster:
- Complex architecture decisions (AI gives starting points I rewrite)
- Debugging production issues (AI suggests possibilities, I verify)
- Performance optimization (requires deep understanding)
- Integration work (connecting systems, handling edge cases)
What AI doesn’t help with:
- Figuring out what users actually need
- Deciding which features to prioritize
- Making product strategy calls
- Coordinating with other teams
- Convincing stakeholders
- Understanding business constraints
The actual software development breakdown
Here’s what I think we’re missing. Software isn’t mostly code generation.
When I think about a typical feature from idea to production:
- Understanding the problem: 20%
- Designing the solution: 15%
- Writing code: 25% ← AI helps here
- Code review and iteration: 10%
- Testing and QA: 10%
- Debugging and fixing: 10%
- Deployment and monitoring: 5%
- Documentation: 5%
AI absolutely crushes that 25% code-writing portion. Maybe gets it down to 5%. That’s an 80% reduction in one part.
But 80% reduction in 25% of the workflow = 20% overall improvement at absolute best.
And that’s assuming:
- Requirements are crystal clear (they’re not)
- No architectural debates (there are)
- No integration complexity (there is)
- Code works first try (it doesn’t)
- No debugging needed (lol)
In reality? The 10% productivity gain sounds about right.
The Vercel moment vs. the vibe coding moment
Michelle mentioned zero-config platforms. There’s an important distinction:
Vercel’s zero-config deployment works because deployment is actually the bottleneck.
When deployment takes hours of AWS configuration, making it 1-click is genuinely transformative. You’ve eliminated the constraint.
Vibe coding is fast at code generation, but is code generation the bottleneck?
For most teams I talk to, the constraints are:
- Clarity: What should we build?
- Coordination: How do teams work together?
- Quality: Does it actually work at scale?
- Strategy: Are we building the right thing?
Writing the code? That’s often not the slow part.
Are we measuring the wrong thing?
Maybe the question isn’t “why only 10% productivity increase” but “what are we trying to be productive at?”
If we measure productivity as “lines of code per week,” AI wins massively.
But if we measure productivity as:
- Customer problems solved
- Revenue generated
- User satisfaction improved
- Technical debt reduced
- Time to validated learning
Then suddenly the 10% makes more sense. Because most of that isn’t code generation.
The design parallel
This reminds me of design tools evolution:
- Sketch made designing UI faster (digital vs. paper prototypes)
- Figma made collaboration better (multiplayer, real-time)
- Design systems made consistency easier (tokens, components)
Each tool improved one dimension. None made “product design” 10x faster overall, because product design isn’t just pushing pixels. It’s:
- Understanding users
- Making strategic choices
- Balancing constraints
- Communicating with teams
- Iterating based on feedback
Sound familiar?
What I think this means
We’ve automated the symptom, not the disease.
The disease: Building software is complex because:
- Requirements are ambiguous
- Systems are intricate
- Users are unpredictable
- Integration is hard
- Quality takes time
Vibe coding addresses: “Writing code is tedious.”
Which… sure. But was that really the core problem?
My questions for this community
Are we measuring the wrong productivity metrics?
Should we track code velocity or customer value delivered?
Is the bottleneck thinking, not typing?
If AI writes code instantly but we still need 3 meetings to decide what to build, did we solve anything?
Do we need better AI, or better problems to solve?
Maybe 10% is the right number because we’ve optimized the part that was already pretty optimized.
Where I’m landing
I’m genuinely bullish on vibe coding for what it’s good at: eliminating boilerplate, speeding up prototyping, lowering barriers to creation.
But I think we oversold what it would transform.
Code generation was never the constraint for most teams. Knowing what to build, building it well, and shipping it reliably were the constraints.
AI helps with the first 25% of that. The other 75%? Still on us.
Maybe that’s why productivity is only up 10%. And maybe 10% is actually pretty good when you solve for the right problem.
What are others seeing? Am I being too cynical? Too optimistic? Are your teams hitting different bottlenecks than code generation? ![]()