Skip to content

App tips

6 min read

What is vibe coding?

Plus, vibe coding tips and best practices.

By Anna Burgess Yang · April 2, 2025
Hero image with an icon representing an AI agent

I'm not a developer, and I don't have any coding experience. Which, in the past, meant that if I had a great idea for an app, that's all it would be—an idea. But now, I can use AI app builders to vibe code my way to fully functional products. All I have to do is describe my ideas—truly, whatever comes to mind—and let the AI take care of building a custom solution.

Sure, vibe coding won't yield the most sophisticated results, but it's an efficient way to get a working draft. I've been using it for a bunch of personal projects recently, and here, I'll show you how it works using my latest project as an example: a meal planning app.

Table of contents

What is vibe coding?

Vibe coding is a programming technique where you describe what you want to create using natural language and have an AI tool build the app for you. You can vibe code with purpose-built AI app builders like Softr, Lovable, or Replit. But you can just as easily use vibe coding with some AI chatbots like Claude

I created a prototype of my meal planning app in Lovable. But let me show you how it might work in the app you may already be using: Claude

I asked the chatbot to "Help me create an app that builds weekly meal plans for my family." In less than a minute, it built a meal planning app, complete with fields to modify the meal preference, prep time, and budget, as well as a grocery list generator. Here's what it looks like.

A meal planning app created by Claude.

You've got to admit: that's impressive. 

Vibe coding tips and best practices 

While vibe coding offered an easy path to building my meal planning app, it wasn't without its frustrations—and that's coming from someone who understands developer lingo from my past life as a product manager. 

That's why I rounded up these tips and best practices, based on my experience, to help make the process smoother. And yes, I understand the irony of giving guidelines for vibes. 

1. Start with a simple request

I made a mistake when I initially began vibe coding my meal planning app: I made it too complicated. I told the AI that I wanted the app to do a few things:

  • Create a meal plan for the week. 

  • Maintain a family profile of likes and dislikes.

  • Create a shopping list based on the meal plan. 

But that was too much information to feed it all at once. 

When it comes to vibe coding, it's best to start off with only a base request. In my case, it was to create a meal planning app. After the AI has created an acceptable first draft of your app, then you can add in additional parameters. For example, once I got the meal planning aspect of the app working, then I could add a family profile to narrow the meal plans. After that, I could get it to make a grocery list generator.  

I'd also recommend waiting until you have the core functionality of your app sorted out before working on the aesthetics—for example, the color scheme or layout—or any other functionality that you think will improve the user experience. 

2. Enter specific prompts 

When I worked with software developers, I never expected them to guess what I wanted. I had to provide specific instructions like, "If the user clicks this icon, then direct them to the home page." The same is true with AI. 

When vibe coding, be specific with your AI prompt. Include details like: 

  • Any buttons and what they should do. 

  • Any fields and what kind of data the user should input—for example, numbers or text.

  • Any conditional workflows—for example, "If the user does X, the app should do Y."

For example, I told my AI to create a field for the user to enter the number of meals needed per week (otherwise, the AI would default to creating a meal for every day of the week). 

3. Test (and re-test) every scenario 

Software development teams regularly run QA (quality assurance) checks on their apps. One part of the QA process also involves trying to break the app—it's what helps teams understand what bugs, if any, need to be fixed. 

You'll want to run the same checks while you're vibe coding. Every time the AI spits out another version of your app, start poking around. Test common use cases along with uncommon ones. If something isn't working as expected, don't just tell the AI it's not working—be explicit about what's wrong and what you expect the output to be. 

For example, I added "no tofu" to my instructions (sorry, tofu) and still got a recipe that included tofu. So I had to (gently) yell at the AI to get its act together.

A conversation with Lovable describing a mistake it made in its output.

4. Be prepared for the app to break

When developers introduce new functions to an app, they may not consider every dependency. As a result, other functions (even seemingly unrelated ones) may stop working. The same thing can happen when you instruct the AI to modify your app: something new works, but something else breaks.

When this happens, once again: tell the AI what's wrong and what you expect the outcome to be. If you know which part of the code is causing an error, you can also copy and paste that code into the chat and ask the AI to examine and fix the error. 

5. Be patient 

Vibe coding undoubtedly speeds up the app-building process. But you won't get exactly what you're looking for on the first try—or maybe even the hundredth. I worked on a ton of iterations of my meal planning app, for example, and it's still not exactly what I want (but it's close!). 

If this is your first foray into vibe coding, be patient. Like with any AI tool, the output depends on the complexity of your request, the quality of your prompts, and ultimately, the sophistication of the AI model powering the app.

The limitations of vibe coding 

Vibe coding offers an accessible way for anyone to turn their ideas into a functioning app. And that's what I love about it. But it's not a magic bullet. As one Redditor put it: "If you're not actually understanding what [the AI] is handing you, you're basically running your app on wishful thinking and fairy dust. And when those vibes turn sour, because inevitably, they will, guess who's debugging at 2 AM?"

Lest you think vibe coding will help you build the next must-have social networking app, here are a few limitations to keep in mind: 

  • Inconsistent UX/UI. Vibe coding often means going with what "feels right" in the moment, which can lead to inconsistent design patterns, user flows, or interactions across the app. Unless you feed your AI with a clear design system, your app may function unpredictably.

  • Difficulty debugging. If you understand the code your AI is generating, this may not apply to you. But if you, like me, don't understand code, you'll have a hard time identifying and resolving any coding errors. You could ask the AI to do this, but even then, there's no guarantee that it'll catch every one. 

  • Limited collaboration. Since design choices aren't based on standard practices when you're vibe coding, outside collaborators will have a hard time jumping into your project. 

The future of vibe coding 

I think we're a long way away from vibe coding replacing the hard-earned skills of human developers. For now, it's great for personal, low-stakes projects—like my meal planning app or a game of dog Tetris (it's exactly what it sounds like). If you're an aspiring solopreneur with no technical background, vibe coding also makes it possible to create a simple app without having to invest thousands of dollars upfront. And if you're a seasoned developer, you can quickly whip up prototypes and then use real brain power to decide if they're worth iterating on. 

Build your own app with Zapier

Vibe coding takes a lot of trial and error. Depending on the app you're trying to build, the juice may not be worth the squeeze. If vibe coding is too go-with-the-flow for you, there are more structured approaches to app building that still don't require any coding expertise. 

Zapier includes an interface builder, database tool, and chatbot creator, so you can create all sorts of tools—from project managers to landing pages to custom chatbots. Then, because Zapier connects thousands of apps, you can build automated workflows that work across your entire tech stack. It's an easy way to build a robust solution—no coding knowledge required. And you can use Zapier Canvas to visualize your workflows and see how this will all work together.

There's also AI built in to every part of the platform, allowing you to use AI to turn your ideas into solutions and add AI functionality to all the apps you use at work. Learn more about how to automate your entire workflow using Zapier.

Related reading

Get productivity tips delivered straight to your inbox

We’ll email you 1-3 times per week—and never share your information.

Related articles

Improve your productivity automatically. Use Zapier to get your apps working together.

A Zap with the trigger 'When I get a new lead from Facebook,' and the action 'Notify my team in Slack'