The Vibe Coding Playbook: How I Actually Build
Three principles, real examples, and where it all breaks down
I've shipped more in the last 12 months than in the previous 12 years.
A course engagement platform piloting at a university. A LinkedIn tool in beta. Games I'm building with my kids. Custom tools I'm building in public with peers.
All of it built the same way: describing what I want, iterating until it works, and applying judgment throughout.
Last week I wrote about what vibe coding actually is.
Today I'm sharing the exact system; including where it falls apart.
The Three Pillars
Pillar 1: Start With a Clear Outcome, Not a Feature List
AI can't read your mind. It doesn't know what "good" looks like for your specific situation.
Before I open any tool, I write one sentence describing what success looks like. Not a feature list. Not a technical specification. One sentence about the outcome.
When I started building uPoll, the sentence was: "A system where professors can broadcast questions to students in real-time and see responses instantly."
That clarity shaped every decision. When features got suggested that didn't serve that outcome, I said no. When I got stuck, I returned to that sentence to figure out what actually mattered.
The discipline isn't technical. It's knowing what you're building before you start building it.
Tactical takeaway: Before your next build, write one sentence.
"A tool that does [X] so that [Y] happens."
If you can't write that sentence, you're not ready to build yet.
Pillar 2: Treat AI as a Collaborator, Not a Vending Machine
The critics who say vibe coding produces garbage aren't entirely wrong. If you treat AI like a vending machine - insert prompt, receive code, deploy without thinking - you'll get exactly what they describe.
That's not how this works.
AI handles the grunt work. I handle the judgment. Every suggestion gets reviewed. Every output gets tested. When something doesn't make sense, I ask why. When something breaks, I understand the failure before accepting a fix.
The split is roughly 70/30. AI generates 70% of the volume. I provide 30% of the direction, review, and decision-making.
That 30% is where the value lives.
When uPoll's context window filled up during a complex feature, Claude suggested pagination. Technically correct. But pagination would have broken the real-time experience that was the whole point. I had to recognize that and redirect.
AI gave me options. I made the choice. That's collaboration.
Simon Willison said it better than I could: "I won't commit any code to my repository if I couldn't explain exactly what it does to somebody else."
That's the line. Cross it, and vibe coding becomes the mess the critics describe. Stay on this side, and you have leverage.
Tactical takeaway: Before accepting any AI-generated code, ask: "Can I explain what this does?"
If no, don't ship it. Ask the AI to explain. Or simplify until you can.
Pillar 3: Iterate Relentlessly, Ship Imperfectly
uPoll.live didn't ship polished. It shipped functional. The polish came from iteration.
The first version worked. Barely. Students could answer questions and professors could see responses. That was the core loop.
Then came testing. Real professors. Real students. Real problems I hadn't anticipated. One professor needed anonymous responses. Another needed response timing. A third found an edge case that crashed the whole thing.
Every problem became a conversation with AI. Every fix made the tool better. Three hundred hours of iteration later, it was polished enough for a university to trust it.
Here's what most people get wrong: they think shipping early means shipping garbage. It doesn't. It means shipping the smallest thing that proves the concept, then improving it based on reality.
The games I'm building with my kids started the same way. Simple. Barely functional. We played them, found what was fun and what wasn't, iterated. Now they're actually good.
Tactical takeaway: Your first version should be embarrassingly simple. Ship it anyway. The feedback will tell you what actually matters.
Your First Week Building With AI
If you've never built anything with AI, here's how to start:
Days 1-2: One small automation.
Pick something you do manually at least once a week. A form you fill out. A report you compile. A message you send. Use AI to automate it. The goal isn't impressive. The goal is completing the loop: idea → build → ship → use.
Days 3-4: Expand slightly.
Take that automation and add one feature. Or fix something that annoyed you. The goal is learning how to iterate. You'll hit errors. That's fine. The errors teach you how the system thinks.
Days 5-7: Build something you'll actually use daily.
Now you've got the pattern. Pick something you'll use every day. A dashboard. A tracker. A tool that scratches your itch. Something small enough to finish in a few sessions but useful enough that you'll actually open it.
Tools to start with:
- Claude or ChatGPT for the conversation
- A visual builder like Google AI Studio, Replit, Lovable, or Bolt for the interface
- That's it. You can get sophisticated later.
Where It All Breaks Down
I'm not going to pretend this works for everything. It doesn't. Here's where vibe coding hits its limits:
Context limits: Long conversations lose coherence. The AI forgets earlier decisions. You get contradictory suggestions. The solution: break complex builds into smaller sessions with clear handoffs. Document your decisions outside the chat.
Complex debugging: When systems get interconnected, AI guesses can make things worse. One "fix" creates two new bugs. The solution: isolate the problem first. Strip away complexity until you can see what's actually broken.
Anything with real consequences: Payments. Authentication. Security. Data you can't afford to lose. The solution: prototype with vibe coding, but slow down for production. Understand what you're deploying when the stakes are real.
The solution isn't to avoid vibe coding. It's to use it appropriately. Prototype fast. Iterate freely. Then slow down when it matters.
Beyond Code: Building With AI as a Thinking Partner
Here's something I didn't expect when I started: AI isn't just useful for code. It's useful for thinking through problems.
The content strategy for this newsletter? Developed in conversation with Claude. The episode planning for the podcast? Same thing. The positioning for my services? Refined across multiple sessions.
I'm not accepting everything AI suggests. I'm challenging it, pushing back, using my judgment. But having something to react to is faster than staring at a blank page.
The 70/30 split applies to business building, not just coding. AI generates ideas and options. I decide what's actually right for my situation.
What I'm Building Now
Here's where I'm at:
uPoll.live: Live, piloting at University of Texas at Arlington. Real professor using it with real students. The iteration continues.
UltraPost: In beta at ultrapost.g8n.ai. A LinkedIn content generation and scheduling tool built on these same principles. Testing with early users now.
Custom client tools: Building in public with peers who want their own solutions. More on this soon.
Games with my kids: Not for distribution, just for fun. But the process is identical.
And this whole thing: the newsletter, the podcast, the content machine. It’s a demonstration of what's possible when you approach AI as a collaborator.
Workshop: Build Your First Prototype With Me
I'm running a live workshop on Sunday, January 25th.
Three hours. Three spots. Everyone walks out with a working frontend prototype.
The goal isn't to watch me talk. The goal is to build. I'll walk through my exact process - the same approach behind uPoll, UltraPost, and everything else. Then we build together. You work on your project, I provide guidance and troubleshooting in real-time.
Investment: Normally $997. First run: $249.
Why the discount? I want three people who are serious about building, and I want to prove this format works. You get a deal. I get proof. We both win.
I'm qualifying by project scope. Three hours is enough to get a working prototype if the scope is right. If your idea is too big, we won't hit that goal, and I'd rather say no upfront than have you walk away frustrated.
Interested? Reply to this email/post or DM me with your project idea. I'll tell you if it fits.
Next up: "Your First Week Building With AI" — a detailed walkthrough for complete beginners. Subscribe so you don't miss it!



