My coding skills leave something to be desired. I never stuck with the instructional books and guides long enough to truly create the kinds of apps and programs I wanted to see. AI chatbots powered by large language models have changed that. Now I can write down my vision for something like a visual gallery of horror movies or a twist on a classic PC game and the chatbot will turn my plain English into hundreds of lines of code — and bring my vision to life.
This is called vibe coding. For experienced coders, it can make work go much more quickly. But for non-coders, it puts the tools of programming in our hands. Having the right mindset for the process can be the difference between a good or bad experience — even if you don’t achieve the results you were originally hoping for. Sometimes, you’ll need to learn what you can and can’t vibe code as you go.
You can choose Gemini, ChatGPT, Claude or another chatbot, and each will have their own features and quirks. Your approach and how you prompt the chatbot are just as important as the model you choose, as it’s basing everything on your instructions.
Here are five tips that can help you as you get started with vibe coding.
Know your chatbot
The chatbot you use does matter, although the type of model may matter more than who made it.
When attempting to create the same app using both Gemini 2.5 Flash and Gemini 3 Pro, it became apparent that a different approach was needed with the former to achieve a similar output of the more advanced Pro model. This means more specific intent and instructions with the prompts and from my experience, more manual work.
From my time vibe coding with Gemini 2.5 Flash, it often made the process more hands-on, which I wasn’t looking for. When refining the app, it would only provide code for just the section that was altered, leaving me to swap the code out manually or follow up with another prompt to provide the entire code. In contrast, using Gemini 3 Pro, it would automatically provide the entire body of code.
Your mileage may vary, but if you’re deciding between using a “fast” or a “thinking” model for your vibe coding project, you may need more skill and training to work with a fast model. If all you have available is a fast or a less advanced model and it’s asking you to perform code edits that you’re uncomfortable with, you can prompt the chatbot again to provide all of the code (or set a rule to provide the entire body of the code with the edits after each change has been made).
From my experience using multiple (but not all) chatbots: If you don’t mind getting your hands dirty with a bit of code, you’ll likely find success with most models as long as you provide clear and specific prompts. Non-coders: Stick with more advanced “reasoning” or “thinking” models if you can. I’ve found thinking models will do more heavy lifting for you.
Getting to know your chatbot, its limitations and its capabilities comes from experience, so it’s best to use it generally and ask questions.
Make your prompts specific
If you have a detailed idea of what kind of project you want to vibe code, specificity is key.
Vibe coding all starts with what’s in your head. If you have a very clear idea, you can and should include everything you want to see in your project in your initial prompt. Make it exhaustive. The chatbot will create what it can, and you’ll hopefully get to see your idea take shape.
On the flip side, you could just have a very loose idea of what you want the app to be and give AI more room for control on how the app functions or how it achieves something you asked it for in a different way.
Iterate iterate iterate
Your dream app likely won’t come within the first or second prompts you give the chatbot. You’ll likely spend more time asking for refinements than anything else.
Ask your chatbot for suggestions. If you get stuck on a part of the web app, whether it’s how it functions or its styling, just ask the chatbot. It’ll provide you with just about as many suggestions as you want. And since vibe coding is such an iterative process, asking it to suggest five ways to improve your app could really make a difference.
Sweat the technical stuff, just a little
Non-coders will need to figure out some technical things to make an app or project work well. The good thing is that you can use the chatbot as a resource.
Here are some things you’ll want to figure out:
Format: For most simple web apps, having the code output in HTML is ideal for non-coders. And if you don’t want to deal with multiple files and folders, you can ask for a single HTML page. This can introduce limitations and potential “memory issues” with the chatbot’s context window if the file gets huge, but it’s one of the most straightforward methods of getting the output code to your browser for testing. If you’re unsure, ask the chatbot what the best format should be for your project and the process of getting the app running.
Scale: If you’re unsure of the capabilities of the chatbot, just ask it. It will tell you that it’s not going to be able to create a new social network for you, but if you want an audio visualizer that channels the old Winamp days, you’re in luck. If your request is beyond a chatbot’s capabilities, ask it for alternative approaches.
Check for bugs: Sometimes, the chatbot will provide broken code, so you’ll need to test again and again. It’s even more important that you communicate what isn’t working — or how exactly you want something to work. If you provide a vague prompt, don’t be surprised to receive a vague output. Telling the chatbot “this doesn’t work” is significantly less effective than detailing the specific bugs you experience during testing. The more specific your feedback, the more accurate the AI’s response, which will make the overall experience more efficient and enjoyable.
Have an open mind
Unless you have a very specific and rigid goal with your vibe coding project, keeping an open mind is essential. If you don’t know anything about coding, you probably don’t know all of the capabilities at your fingertips. If you’re unsure of your limitations, it’ll be just as easy to underestimate as it is to overestimate what you can do.
In a perfect world, everything you vibe code will run smoothly, but errors are likely to happen. Whether it’s the chatbot’s memory forgetting something, a technical limitation or something in between, some things will break. If you’re lucky, the chatbot will recognize and fix the issue, but sometimes it won’t be able to, and this is where having an open mind is helpful. Ask for alternative approaches — you might find an approach you like more than your original idea. You’ll never know what you don’t know unless you ask.
Don’t be afraid to start over
Like other creative processes, sometimes starting over is for the best. If you’ve gone through countless iterations and are far from your app being where you want it to be, consider starting over. This could be completely from scratch or by taking the code from the first chat and using it as a baseline for the new conversation you’re starting.
While you could instruct the chatbot to start from scratch in the original chat, a clean slate might be in order to move forward. Try again in a new chat — so the AI doesn’t get things confused with your prior project. You may have identified some prompts that may have sent your project backwards that you can avoid using this time, allowing you to stay focused on what worked, rather than keeping what didn’t work in the chatbot’s memory for reference.
A fresh start isn’t just for the sake of the chatbot “getting it right” this time, but also for you to reset your creative flow.