<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pavel</title>
    <description>The latest articles on DEV Community by Pavel (@kraizman).</description>
    <link>https://dev.to/kraizman</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4006281%2F70d9c94f-ca28-4edd-b3d3-4f96668882a4.png</url>
      <title>DEV Community: Pavel</title>
      <link>https://dev.to/kraizman</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kraizman"/>
    <language>en</language>
    <item>
      <title>My first vibe coding project taught me I didn't actually know what I was building</title>
      <dc:creator>Pavel</dc:creator>
      <pubDate>Sun, 28 Jun 2026 09:33:49 +0000</pubDate>
      <link>https://dev.to/kraizman/my-first-vibe-coding-project-taught-me-i-didnt-actually-know-what-i-was-building-1af8</link>
      <guid>https://dev.to/kraizman/my-first-vibe-coding-project-taught-me-i-didnt-actually-know-what-i-was-building-1af8</guid>
      <description>&lt;p&gt;I manage mobile engineering teams for a living. I review architecture, push back on scope, and know when someone's over-engineering something. I've shipped production apps to millions of users. So when I decided to build a side project using AI, I assumed the hard part would be deciding which shortcuts to take.&lt;/p&gt;

&lt;p&gt;I was wrong about what the hard part would be.&lt;/p&gt;




&lt;h2&gt;
  
  
  The problem I wanted to solve
&lt;/h2&gt;

&lt;p&gt;Every shopping app gives you a flat list. You add items in whatever order you think of them, then wander the store like you're solving a maze. Back to dairy because you forgot it was next to the eggs. Back to produce because it was at the top of the list, but physically at the other end of the store.&lt;/p&gt;

&lt;p&gt;I wanted a list that follows the route you actually walk, aisle by aisle. You define your store layout once, and from that point on, every list you create sorts itself to match it. Check off an aisle, move on, never backtrack.&lt;/p&gt;

&lt;p&gt;Simple idea. I'd thought about it for some time. I knew exactly what I wanted to build.&lt;/p&gt;

&lt;p&gt;Or so I thought.&lt;/p&gt;




&lt;h2&gt;
  
  
  So I opened Claude and asked it to build
&lt;/h2&gt;

&lt;p&gt;I described the concept, hit send, and watched it generate something at a speed that still catches me off guard, no matter how many times I see it.&lt;/p&gt;

&lt;p&gt;It built something. Fast. Impressively fast.&lt;/p&gt;

&lt;p&gt;And I stared at it and thought: &lt;em&gt;this isn't it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Not because the code was wrong. The code was fine. It was because I'd never actually decided what "it" was. I had been carrying a blurry vision in my head for some time and mistaking it for a plan.&lt;/p&gt;




&lt;h2&gt;
  
  
  The questions I never asked myself
&lt;/h2&gt;

&lt;p&gt;"A shopping list organized by aisle" sounds like a complete idea. It isn't. The moment something is running in front of you, questions appear that you never consciously asked yourself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What happens when you add an item with no aisle assigned yet? Does it go to a catch-all section at the bottom, block you until you assign one, or silently wait?&lt;/li&gt;
&lt;li&gt;What does checking something off feel like? Does the item disappear immediately, fade out, or drop to a completed section?&lt;/li&gt;
&lt;li&gt;Does the completed section live at the bottom of each aisle, or as one global section at the end of the whole list?&lt;/li&gt;
&lt;li&gt;How does a new user set up their store layout? A guided wizard, a blank slate they fill themselves, or a default template they edit?&lt;/li&gt;
&lt;li&gt;What happens to an empty aisle header once all its items are checked? Does it stay visible or collapse?&lt;/li&gt;
&lt;li&gt;When the same item appears across multiple lists, does it remember its aisle assignment automatically?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these is a hard decision. But I hadn't made a single one of them. I had a feeling of a product, not a definition of one.&lt;/p&gt;




&lt;h2&gt;
  
  
  The code was never the problem
&lt;/h2&gt;

&lt;p&gt;When I used to build things the traditional way, I'd answer these questions as I coded. Implementation forced decisions, and I made them in line, half-consciously, just to keep moving. The friction of writing code slowed things down enough that my brain had time to fill in the gaps. The code became the spec.&lt;/p&gt;

&lt;p&gt;Vibe coding removed that friction entirely. The AI moves too fast for decisions to hide inside implementation. It builds whatever your blurry vision implies, makes its own assumptions about every gap you left open, and then holds the result up for you to look at.&lt;/p&gt;

&lt;p&gt;That's when you find out how blurry your vision actually was.&lt;/p&gt;




&lt;h2&gt;
  
  
  You need to be a PM before you can be a vibe coder
&lt;/h2&gt;

&lt;p&gt;This is the thing nobody talks about in the vibe coding conversation. Everyone is debating whether AI can write good code. That's the wrong question, or at least it's not the first question.&lt;/p&gt;

&lt;p&gt;The first question is: do you actually know what you want to build?&lt;/p&gt;

&lt;p&gt;Not a vague concept. Not a feeling. A real answer to every decision the product requires before a single line of code makes sense. What happens in the edge cases? What the experience feels like at each step. Why is one behavior right, and another wrong, for this specific product?&lt;/p&gt;

&lt;p&gt;That is a product management skill. Not the PM who writes tickets and runs standups. The original meaning of the role. Someone who can close their eyes and describe exactly what an experience should feel like, and why. Someone who has made every decision before the builder starts building.&lt;/p&gt;

&lt;p&gt;I thought I had that skill because I've been close to product decisions my whole career. Vibe coding showed me I was used to hiding behind implementation. The moment that the hiding place disappeared, I had to actually think.&lt;/p&gt;

&lt;p&gt;That skill turned out to be harder than I expected. Possibly the actual skill that determines whether vibe coding produces something good or just something fast.&lt;/p&gt;




&lt;p&gt;The app I eventually built is called &lt;a href="https://play.google.com/store/apps/details?id=com.pasha.byaisle" rel="noopener noreferrer"&gt;By Aisle&lt;/a&gt;. It took much longer than expected, not because the code was hard, but because I had to figure out what I was building before I could ask anyone, human or AI, to build it.&lt;/p&gt;

&lt;p&gt;If you've been through something similar with a vibe coding project, I'd love to hear how you handled it. And if you haven't tried vibe coding yet, my honest advice is to spend an hour writing down every decision your product requires before you open the AI. You'll be surprised how many you haven't made.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>showdev</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
