Back to blog

Smarter vibe-coding in 6 tips

May 13, 2025 7 min read
Picture of Sonya Mann
Sonya Mann
Feature image for https://splits.ghost.io/content/images/2025/05/brett-jordan-pLPoXXh-Do0-unsplash.jpg

First, a definition: vibe-coding is when you coax an AI into writing usable software for you. (A disputed definition, but that’s how people actually use the term, in my observation.)

This emerging practice enables experienced developers to do more faster, and helps newbies learn “on the job” while shipping bigger projects than they could otherwise tackle.

Unlike traditional programming, you're not typing out all the nitty-gritty details; you're shepherding and editing the AI's output. Think less like an engineer, more like a technical product manager with enough coding literacy to evaluate what the AI produces.

This approach shifts your role from code author to code curator. You provide the vision, judgment, and quality control while the AI handles the mechanical aspects of implementation. The "vibe" in vibe-coding refers to this intuitive, directorial relationship with your tools rather than a detailed, syntax-level engagement with the code.

“It’s a matter of shifting your mindset from junior dev (bulk of time coding) to lead (bulk of time reviewing PRs from junior devs and architecting). If you wouldn’t delegate something to a bright but inexperienced junior, don’t delegate it to AI IMO.” — Eric Voss

AI is an incredible force multiplier, but it’s not outright magic. If you know absolutely nothing about code, going straight from prompt to deployment will be daunting to the point of impossibility. That said, you can use AI to learn, reaching functional competence orders of magnitude more quickly than in the past. However, it’s not realistic to offload 100% of cognitive effort to the LLM. Maybe 80%, which is enough to make an enormous difference!

Of course, if you’re just coding for fun and figuring things out as you go, go ahead and delegate whatever to AI. Then see what happens. Trial and error is the best way to learn!

For this article, I consulted a range of professional and amateur developers (including my teammates at Splits, who obviously fall into the “professional” category). I asked these vibe-coders how they make AI work for them. Here are the six key tips that jumped out from their responses.

1. Plan the work, then work the plan

“The number one thing I would say is to write out a full spec before you get started. Plan the work, then work the plan.” — Katherine Champagne

In other words, figure out what the heck you actually want to do. AI can still help here — LLMs are famously useful for brainstorming — but it’s essential that you understand the structure of the product or service you plant to build.

“It’s important to hold a cohesive idea in your head the entire time, otherwise [the project] evolves to slop,” @MashTunTimmy advised. “You should own the architecture and make the machine implement it.”

Splits cofounder Will Minshew echoed this suggestion. “Break everything into two steps: planning and then executing,” he said. “Basically use an LLM in the planning step to generate a detailed plan that is then consumed by another LLM in the execution step (e.g. something like using o3 to generate detailed plans for Claude 3.5 to follow).”

Which leads to our next tip…

2. Model-hop for fresh perspectives

“Switching between models and having them improve [each other’s output] is a method I've found helps a lot,” Diid shared. For example, “Use Claude for code generation and ChatGPT for bugfixing.” Alternating between AI services “makes sure you don't talk yourself into circles.”

Grin agrees: “Start with ChatGPT and discuss the next step, then ask it to craft the prompt. Then paste that prompt into e.g. Lovable.”

Even when you’re locked in, don’t get locked in, know what I mean?

3. Lean into the vibes and play pretend

Try thinking of your LLM setup as “a little dev agency that lives on your computer,” like prolific vibe-coder Kasra Rahjerdi. This mental model helps you delegate appropriately, portion out work in well-scoped chunks, and maintain reasonable expectations about what your AI collaborator(s) can deliver.

Screenshot shared by Kasra Rahjerdi.

Alternatively, you could tell the AI something like:

I am an exacting client who contracted you as a freelance developer to build [XYZ project]. Your work commands a high price, but I am happy to pay due to your reputation for clear thinking and attention to detail. A past client extolled your dedication to delivering a polished product that exceeds customer expectations. You are eager to prove that this testimonial was correct, so I will refer you to future clients and improve your consulting pipeline.”

AIs are good at role-playing. Define the role that you want yours to play.

4. Knowledge is power

When working with specific tools or frameworks, set the AI up for success! Jihad suggests using "LLM friendly" versions of documentation whenever that’s available. If optimized docs aren’t an option, you should still simply copy-paste the regular documentation meant for humans. This lets your AI work with the ground truth instead of making educated guesses.

In the same vein, default to using the most well-known, ubiquitous libraries. Even if you prefer Vue, it’ll be easier to use React, because the LLMs have so much more training data for the leading frameworks.

5. Know when to roll back

Vibe-debugging is the really tough part. If the AI makes a fundamental error that it struggles to fix, you’ll make progress more quickly by rolling back to an earlier checkpoint, versus spiraling into debugging hell. As Grin put it: "If the AI makes a dumb mistake and can't fix it, you're fucked and might as well start over."

“It is very important you confirm the code compiles,” Joe Christman noted dryly. You gotta verify everything that you trust.

6. Respect the limits

There's a reason no-code and full-code solutions both still exist alongside AI. For personal tools, go wild with AI assistance. However, as Katherine Champagne cautioned, "The calculus changes when you want to make products for others." Production apps eventually need maintainable code and proper architecture, which may require deeper technical insight.

“Deployment and backend are still tough [with] no experience for the beginner,” @jrf said. He shared his experience reaching the edge of his understanding:

a lot of the things i built (i) i deployed once and then added more pages for new ideas and (ii) simply didn't have a backend, just hacked my way around that 

working w api endpoints is much easier so that's where i'd recommend starting, but watch out for rate limits

this definitely limits the possibilities for your app — you can find someone to help you but then you kind of need to learn the ins and outs of a new skill (e.g. databases)

short answer: never been easier to build an interactive website, but apps are still complex organisms with lots of moving parts that can break (vibes notwithstanding)

Hacker mindset helps: often, a little ingenuity means you can find a way to make it happen with your current skills.

Code-literacy prerequisite

@lostmidas summed up the pros and cons of vibe-coding:

What works:

- Turns vague ideas into starter code in minutes
- Refactoring is smooth, efficient, & satisfying
- Boilerplate is a non-issue

What’ll drive you insane:

- Debugging is a chaotic game of whack-a-mole
- AI’s confidence is its greatest con
- Hallucinations are often disguised as progress

The hard truths:

- Debugging is endless
- Complexity kills reliability
- If you don’t know the code, it’ll break you

Vibe-coding thrives in what we might call the Goldilocks zone of technical knowledge: you need enough code literacy to read and evaluate what the AI produces, but not necessarily the skills to write that code from scratch.

This sweet spot is where the magic happens. You can comprehend what's happening in the code — understand its general structure, recognize common patterns, and spot obvious errors — without needing to remember every syntax rule or function parameter.

Think of it like a language immersion program. You might enter with just enough vocabulary to order a coffee, but through repeated exposure and practical usage, you gradually absorb more complex structures. Similarly, vibe-coding lets you work slightly beyond your current coding capabilities, stretching your skills through collaboration with AI.

The beauty of this approach is that you're constantly pushing the boundaries of your competency. Each project becomes a learning opportunity. You might start by having the AI explain unfamiliar patterns in the code it generates. Over time, those patterns become familiar, allowing you to request more complex implementations.

This gradual stretching of your technical boundaries — working at the edge of your competence — accelerates your growth as a developer. What you couldn't write yesterday becomes what you can confidently modify today, and what you'll write from scratch tomorrow.

Remember that vibe-coding is about accelerating your workflow, not replacing your judgment. The most successful builders use AI as a force multiplier for their existing skills and vision — not as a replacement for thinking critically about what they're creating.

@0xDesigner’s X thread of vibe-coding best practices was referenced repeatedly. (And here’s an addendum that you should also review.)

Will from Splits pointed to Andrej Karpathy’s walk-throughs and deep dives as an invaluable educational source. Karpathy also posted a short summary of his preferred “rhythm in AI-assisted coding” on X.

Colin Johnson shared a video called “ChatGPT o3 Is INSANE For Building Games,” which he admitted is “a little obnoxious but you just have to power though,” for the sake of a tangible payoff: “I found this video to be super useful to get from nothing to an actual app in an evening.”

Here’s how I use LLMs to help me write code” by Simon Willison is an opinionated guide to… using LLMs to help write code.

Farcaster’s resident vibe-coding wizard Kasra Rahjerdi (quoted above) posted a demo video of “kicking off a mini app project.”


How about you? What resources helped you get up to speed as a vibe-coder? Hit reply and share the link, and/or your best advice.

Subscribe for future updates