👋 Hey! It is Karin here. 

Welcome to my ✨ newsletter ✨. This is the place where I tackle topics around product, business, AI and (occasionally) spirituality.


Welcome to my weeklong's experiment with "vibe coding" and why it's mostly a mirage.

I spent 100 credits on Replit (worth $25 USD) trying to vibe a simple app.

After 4 days of vibing I found my self doing what AI promised would be unnecessary: actual coding. As I scrolled through the code files, I laughed at the irony: I had been sold on the promise that this was exactly what I wouldn’t need to do anymore: to code. Yet here I was, troubleshooting a basic Google Drive API integration. 

How did AI solve it?

It didn’t. 

How did I solve it?

By cutting the scope, and adding a manual download button. 

This is my weeklong experiment with the false promise of "vibing" and why it's mostly a mirage.

The Rise of the Vibe

We are being sold the story that we are all architects now, and AI is our tireless carpenter. 

I think this is a lie. 

Don’t get me wrong, I wanted to believe. As someone who has build products traditionally for years, the promise is irresistible: democratized coding, and accesible software development. A utopian picture of anyone producing personal functional software by chatting with the LLM of choice. 

My personal experience confirms the allure: vibing along is indeed fast, fun, and initially empowering. The dopamine hit of seeing your ideas visualized in seconds is addictive. 

But here's what few are admitting: the moment you try to turn that vibe into a finished, working product, reality hits hard. Even for the simplest projects.

There's a ceiling to what "vibing" can accomplish, and that ceiling sits much lower than the tech world wants to admit.

What is “vibe coding", really? 

“Vibe” coding: the act of writing code, not by writing it yourself but by prompting AI to do it. 

Coined by Andrej Karpathy, the term has been all over recently. Even 25% of the YC companies of the latest batch claim to have 90% or more of their code “vibe” coded. (Source)

You can visualize the process as follows: a human describes requirements in plain English, and an LLM spits out working code. No syntax to remember, no documentation to read. No repositories to maintain. 

With the latest advent of GPT-4o native image generation capabilities, design has fallen to the same infatuation. “Vibe designing” promises that anyone can be a designer by describing what they want and letting AI handle the “details” like white space, typography, color palettes and responsive layouts. 

The appeal is obvious: bypassing the blank page, building without friction and mostly the promise of a shortcut. Why spend years learning to code or design when AI can do it for you? 

This is especially appealing to early-stage founders and solo builders, like myself, who are keen to bypass the need (and cost) of a technical team or talented designers.

I decided to put this promise to the test with two small personal projects. In both cases, I hit what I call the "vibe ceiling" much faster than I expected.

Hitting the Vibe Ceiling, Part 1: When AI Hits Infrastructure

The app I wanted to build is simple. I wanted an LLM to generate not one but 100 (or X) images of a concept I provide. I turned to Replit's agent for help.

My MVP was an app where I would type in the concept, the number of images to be generated and the app would handle the batch image creation using the OpenAI API. This was done smoothly and without any issues (see screenshot further down). 

First impression: vibe coding works! This is amazing!

But this should be scalable right? I wanted to avoid downloading 100×50 (number of concepts I am interested in) = 5000 images manually. So I figured, why don’t I integrate this with my Google Drive and let the app save the images in folders by name into my Drive? This should certainly be manageable for the AI to vibe along. Right? 

Hence, authentication enters the picture. I prompted the AI to add the Google Drive API integration. I watched it write code, update files, and enter credentials. And then, error. I tried again, and error. I (or shall I say, we?) tried again, and it failed. Again and again. 

I spent hours and 100 of tokens in Replit trying to vibe-fix this without success. Annoyed and worried about my quickly consuming token budget I finally requested the integration to be replaced with a download option. This worked. 

My final app vibe-coded in Replit

What this revealed: AI excels at surface-level features but stumbles when dealing with infrastructure, authentication, and API integrations. These are the exact things that separate toys from tools in production environments.

Hitting the Vibe Ceiling, Part 2: From Concept to Craft

I want to update my personal site to reflect the products I offer and the various companies I am involved with. 

Being an AI tool enthusiast, to say the least, I figured I could vibe-design and implement this by myself. I decided to use Relume to quickly sketch the site and was amazed by Relume’s style guide feature that lets you experiment with UI elements such as font types, sizes, colors, buttons, spacing, etc. 

My "concept" in Relume

It felt like 70% of the work was done. I thought: I just need to bring this to Figma, do the final touches and then deploy this in Webflow or Framer. 

Second impression: vibe designing works! This is amazing!

Then reality hit: adjusting layouts, ensuring responsiveness, and creating a polished design required skilled manual work I couldn't avoid and for which I lack the skills. I am now commissioning this work to somebody to finish it. (Any recommendation welcome!)

What this revealed: Vibe designing is sketching, but not a system. You still need design judgment and a mostly a good taste, this being the reason why we are not all designers. 

Why Simple Projects Aren’t Actually Simple

Most "easy" projects are only simple in hindsight. The reality is that even the most straightforward applications require:

  • Infrastructure decisions: authentication, data storage, API integrations
  • UX hierarchy: information architecture that guides users intuitively
  • Responsive behavior: design that works across devices
  • Form logic: handling user inputs
  • Performance considerations: speed and reliability at scale
  • Accessibility: Making sure all users can access your product

AI can hint at the shape of a thing. But it can’t complete the thing mostly because it cannot resolve the tensions between these trade-off for you. 

So Why Are YC Companies Claiming 90% AI-Generated Code?

This is the part that puzzled me. If my small projects hit the vibe ceiling so quickly, how are funded startups claiming such high percentages of AI-generated code?

(full disclaimer: I am technically savvy but not technical and although I can read python and I am an excellent prompter I am definitely not a coder.) 

After discussing this with several founders, I've identified a few possibilities:

  1. They're counting differently: Initial code generation might be AI, but the debugging, refactoring, and hardening is done by humans. Those hours aren't counted.
  2. They're building prototypes, not production systems: Many early-stage startups are still in the "MVP that barely works" phase, where vibing can get you surprisingly far.
  3. They have expert engineers guiding the AI: The most successful vibe coding happens when experienced developers prompt, evaluate, and integrate the AI's output, essentially using AI as a productivity multiplier rather than a replacement. Meaning, a skilled engineer or designer would have been able to solve my problems above directly.
  4. Survivorship bias: We only hear about the successes, not the countless projects that hit the vibe ceiling and died. 

Where Vibing actually works

Despite my frustrating experiences, I haven't given up on AI-assisted development and design. I've just adjusted my expectations about where the ceiling is:

  • Ideation and prototyping: AI excels at generating options and helping you visualize possibilities quickly
  • First draft generator: Getting something on the screen to react to is valuable, even if you'll end up rewriting most of it
  • Communication tool: Explaining concepts, generating documentation, and creating presentation materials

The key is to use vibe coding and designing to explore faster, not to ship faster. Vibing as pre-production aid, not a production pipeline.

Conclusion: Vibes Don't Ship (Yet)

For now, the vibe ceiling is real. You can vibe your way to impressive demos and functional prototypes. You might even vibe your way to early product-market fit tests.

But when it comes time to build something reliable, scalable, and polished to ship to real users? You'll hit the ceiling. And that's when the real work begins.

Vibes are great, but they don't ship. Not yet.

If you find this newsletter valuable, please subscribe, share it or reply! I promise I read every reaction I get.

If you find this newsletter valuable, please subscribe, share it or reply! I promise I read every reaction I get.

Thanks for reading!


PS: Here are more ways to connect:

  1. Follow me on LinkedIn for insights during the week (free).
  2. Check my availability to do a keynote for your company or incubator. 
  3. Let's do a 30 days sprint to get your first customers. 
  4. Enroll in the OneMonthPM Membership, the value packed membership with all you need to become a full stack PM. You can find my Prototyping nano course in it.

If you find this newsletter valuable, please subscribe, share it or reply! I promise I read every reaction I get.