Gabe Perez

Vibe coding process - do we jump in or plan it out?

I'm super curious how everyone starts to vibe code? In the beginning I would simply jump into @bolt.new or @Cursor and just do a prompt and continue refining with the AI. I quickly realized this created a lot of issues as I didn't think about the structure, tech stack, and how I wanted the features to interact with each other and how the way I was building things would impact the user experience. I now do the following:

  • Write down a simple problem statement: "what am I trying to solve?"

  • Write down a simple solution statement: "what does the thing I'm building do (to solve the problem)"

  • Share the above with @ChatGPT by OpenAI and word vomit my thoughts, ideas, how I want the user to interact with my app, etc and ASK ChatGPT to turn everything I said and want into an easy to understand directive and instructions for an Engineer.

  • I then take the Engineer instructions and give it to a new chat in ChatGPT and ask it to turn those instructions into a prompt for an AI engineer and to break up the project into sections so that each time we focus on a section the app is shippable and keeps things easy to work on.

  • I take the output and paste it into my notes. I then give it to Cursor.

  • Once in Curosr, I create a new project folder and got at it!


Curious what everyone else does and if you've experience any things to avoid or must do

Add a comment

Replies

Best
Tasos V

I would definitely never jump into an AI development tool without having these 2 things cleared out:

  • What is the problem im trying to solve (clearly written down)

  • How I am solving this problem (clearly written down)

Jumping into vibe coding without these 2 things, you are probably rich. Cause it means you have a lot of time to waste iterating, fixing, debugging, cleaning etc. And especially when no one is watching. That's a luxury of the rich person. Only if we had infinite amount of time right?


I personally use v0.dev due to my tech knowledge being around JS/TS/NodeJS/NextJS.


I use this prompt to kick things off fast, ONCE i have the things i mentioned earlier clear.


" ๐˜Š๐˜ณ๐˜ฆ๐˜ข๐˜ต๐˜ฆ ๐˜ข ๐˜ท๐˜ฆ๐˜ณ๐˜บ ๐˜ค๐˜ญ๐˜ฆ๐˜ข๐˜ณ ๐˜ข๐˜ฏ๐˜ฅ ๐˜ง๐˜ถ๐˜ญ๐˜ญ๐˜บ ๐˜ณ๐˜ฆ๐˜ด๐˜ฑ๐˜ฐ๐˜ฏ๐˜ด๐˜ช๐˜ท๐˜ฆ ๐˜ข๐˜ค๐˜ณ๐˜ฐ๐˜ด๐˜ด ๐˜ข๐˜ญ๐˜ญ ๐˜ฅ๐˜ฆ๐˜ท๐˜ช๐˜ค๐˜ฆ๐˜ด ๐˜ข๐˜ฑ๐˜ฑ ๐˜ต๐˜ฉ๐˜ข๐˜ต ๐˜ฉ๐˜ข๐˜ด ๐˜ต๐˜ฉ๐˜ฆ ๐˜ง๐˜ฐ๐˜ญ๐˜ญ๐˜ฐ๐˜ธ๐˜ช๐˜ฏ๐˜จ ๐˜ง๐˜ถ๐˜ฏ๐˜ค๐˜ต๐˜ช๐˜ฐ๐˜ฏ๐˜ข๐˜ญ๐˜ช๐˜ต๐˜บ:
1. ๐˜ˆ๐˜ถ๐˜ต๐˜ฉ๐˜ฆ๐˜ฏ๐˜ต๐˜ช๐˜ค๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ ๐˜ธ๐˜ช๐˜ต๐˜ฉ ๐˜š๐˜ถ๐˜ฑ๐˜ข๐˜ฃ๐˜ข๐˜ด๐˜ฆ ๐˜ข๐˜ฏ๐˜ฅ ๐˜ข ๐˜ท๐˜ฆ๐˜ณ๐˜บ ๐˜ฎ๐˜ช๐˜ฏ๐˜ช๐˜ฎ๐˜ข๐˜ญ ๐˜‹๐˜‰ ๐˜ด๐˜ค๐˜ฉ๐˜ฆ๐˜ฎ๐˜ข ๐˜ต๐˜ฐ ๐˜ด๐˜ต๐˜ฐ๐˜ณ๐˜ฆ ๐˜ถ๐˜ด๐˜ฆ๐˜ณ ๐˜ช๐˜ฏ๐˜ง๐˜ฐ.
2. ๐˜ˆ ๐˜ฎ๐˜ช๐˜ฏ๐˜ช๐˜ฎ๐˜ข๐˜ญ ๐˜ฃ๐˜ถ๐˜ต ๐˜ท๐˜ฆ๐˜ณ๐˜บ ๐˜ฃ๐˜ฆ๐˜ข๐˜ถ๐˜ต๐˜ช๐˜ง๐˜ถ๐˜ญ ๐˜œ๐˜ ๐˜ต๐˜ฉ๐˜ข๐˜ต ๐˜ช๐˜ด ๐˜ข๐˜ญ๐˜ช๐˜จ๐˜ฏ๐˜ฆ๐˜ฅ ๐˜ต๐˜ฐ ๐˜ต๐˜ฉ๐˜ฆ ๐˜ช๐˜ฎ๐˜ข๐˜จ๐˜ฆ ๐˜ ๐˜ข๐˜ฎ ๐˜ข๐˜ต๐˜ต๐˜ข๐˜ค๐˜ฉ๐˜ช๐˜ฏ๐˜จ (๐˜ฉ๐˜ฆ๐˜ณ๐˜ฆ ๐˜ช ๐˜ข๐˜ต๐˜ต๐˜ข๐˜ค๐˜ฉ ๐˜ข๐˜ฏ๐˜ฅ ๐˜ช๐˜ฎ๐˜ข๐˜จ๐˜ฆ ๐˜ธ๐˜ช๐˜ต๐˜ฉ ๐˜ฏ๐˜ข๐˜ฎ๐˜ฆ: ๐˜ช๐˜ฅ๐˜ฆ๐˜ข๐˜ญ๐˜ถ๐˜ช)
3. ๐˜›๐˜ฉ๐˜ฆ ๐˜ข๐˜ฑ๐˜ฑ ๐˜ช๐˜ด ๐˜ข๐˜ฃ๐˜ฐ๐˜ถ๐˜ต___________________________ .
4. ๐˜›๐˜ฉ๐˜ฆ ๐˜ค๐˜ฐ๐˜ฅ๐˜ฆ ๐˜ด๐˜ฉ๐˜ฐ๐˜ถ๐˜ญ๐˜ฅ ๐˜ฃ๐˜ฆ ๐˜ค๐˜ญ๐˜ฆ๐˜ข๐˜ฏ, ๐˜ธ๐˜ช๐˜ต๐˜ฉ ๐˜ข ๐˜ง๐˜ถ๐˜ฏ๐˜ค๐˜ต๐˜ช๐˜ฐ๐˜ฏ๐˜ข๐˜ญ ๐˜ฑ๐˜ณ๐˜ฐ๐˜จ๐˜ณ๐˜ข๐˜ฎ๐˜ฎ๐˜ช๐˜ฏ๐˜จ ๐˜ฑ๐˜ข๐˜ณ๐˜ข๐˜ฅ๐˜ช๐˜จ๐˜ฎ ๐˜ง๐˜ฐ๐˜ค๐˜ถ๐˜ด, ๐˜ข๐˜ฏ๐˜ฅ ๐˜ธ๐˜ช๐˜ต๐˜ฉ๐˜ฐ๐˜ถ๐˜ต ๐˜ถ๐˜ฏ๐˜ฏ๐˜ฆ๐˜ค๐˜ฆ๐˜ด๐˜ด๐˜ข๐˜ณ๐˜บ ๐˜ณ๐˜ฆ๐˜ณ๐˜ฆ๐˜ฏ๐˜ฅ๐˜ฆ๐˜ณ๐˜ด (๐˜ต๐˜ฉ๐˜ช๐˜ด ๐˜ช๐˜ด ๐˜ท๐˜ฆ๐˜ณ๐˜บ ๐˜™๐˜ฆ๐˜ข๐˜ค๐˜ต/๐˜•๐˜ฆ๐˜น๐˜ต๐˜‘๐˜š ๐˜ณ๐˜ฆ๐˜ญ๐˜ฆ๐˜ท๐˜ข๐˜ฏ๐˜ต) .
5. ๐˜”๐˜ข๐˜ฌ๐˜ฆ ๐˜ด๐˜ถ๐˜ณ๐˜ฆ ๐˜ต๐˜ฉ๐˜ฆ ๐˜œ๐˜Ÿ ๐˜ฐ๐˜ง ๐˜ต๐˜ฉ๐˜ฆ ๐˜ข๐˜ฑ๐˜ฑ ๐˜ช๐˜ด ๐˜ท๐˜ฆ๐˜ณ๐˜บ ๐˜ค๐˜ญ๐˜ฆ๐˜ข๐˜ณ ๐˜ข๐˜ฏ๐˜ฅ ๐˜ต๐˜ฉ๐˜ฆ ๐˜ท๐˜ข๐˜ญ๐˜ถ๐˜ฆ ๐˜ฆ๐˜น๐˜ต๐˜ณ๐˜ข๐˜ค๐˜ต๐˜ฆ๐˜ฅ ๐˜ฃ๐˜บ ๐˜ต๐˜ฉ๐˜ฆ ๐˜ถ๐˜ด๐˜ฆ๐˜ณ ๐˜ช๐˜ด 100% ๐˜ฐ๐˜ฑ๐˜ต๐˜ช๐˜ฎ๐˜ช๐˜ป๐˜ฆ๐˜ฅ"



Nika

@cryptosymposium You described it well Tasos + I would add one point: Cybersecurity and data safety โ€“ I have seen some people who didn't know how the code works properly and users' data "became somehow public". :D
Not a very good start. When people have these things in order, that's when I would start.

Tasos V

@busmark_w_nika Definitely ! A classic case is when people (usually the non-techie) mess up the Database stuff when using AI dev tools. For example RLS is the main issue when someone is launching. If you launch without RLS, at least make sure that it is not emails or credit card info that are exposured.

Nika

@cryptosymposium or when someone can see passwords. ๐Ÿคก The bigger the company is, the bigger the faux pas.

Ray luan

Great points Gabe! I think curor and Bolt.new are targeting developer as audience for their daily works, especially for coding. However, business owners and UI/UX designers/PMs have different use cases. For business owners, the perfect use case is to use one prompt only to generate a working and functional website prototype instead of generating coding for a website then modify the codes. Those are totally different markets and target audience.


So far per my experience, Claude Sonnet 3.7 is much, much better than ChatGPT for code generation. So for SMBs or other non-coding background free lancers or solopreneurs, a tool can be used to generate an app with pure human language is much desired. And I think it is a bigger and incremental market than developers.

Tania Bell

@ray_luan have you tried the latest Gemini version?

Ray luan

@taniabell Not yet, hope it will code better

Tania Bell

@ray_luan it's on par and prob even better than 3.7

Andrรฉ J

Like Notorious BIG (Biggie) said: I wrote a 10 step booklet for ya'll to read. https://eoncodes.substack.com/p/how-i-built-an-ai-wrapper-saas-in I can repost here on p/vibe if ya'll want? Let me know. TL;DR: I think neither dive in or plan it out. Start with something your extremely passionate about. Then adrenaline will take you from zero to one. Vibe code or no vibe code. Thats how it works for me at least. Time and space just vanish around you and before you know it, you have something working in no time. ๐Ÿ˜ธ

Gabe Perez

@sentry_co this was probably the best hook I've read lol, Immediately clicked the link. On your other note, I rely on adrenaline and "vibes" too much sometimes which is how I got to a bit more methodical to my approach!

Jodyl Gonsalves

I bounce of ideas with grok or chatGPT and come up with a plan. What features the MVP will have, etc. then start vibe coding. But I use @Replit to vibe code, not bolt or cursor.

Andrew Stewart

@jodylgonsalves What makes @replit work well for you?

Jodyl Gonsalves

@replit  @andrew_g_stewart Hi Andrew, @Replit does it all. From creating the app from a natural language prompt to deploying in one or two clicks. I don't know about Bolt but I don't think cursor does deployment, I could be wrong.

I'm sure Bolt and Cursor are good, I just prefer replit.

Gabe Perez

@jodylgonsalves curious why Replit!


Jodyl Gonsalves

@gabe Hey Gabe, I think replit is a one stop solution, from creating to deploying, it just does it.

Again as I mentioned in my other comment here, I'm sure Bolt and Cursor are good, Replit just works for me.

Matt McDonagh
Launching soon!
  1. What's the problem?

  2. What other solution(s) have been solved?

  3. How is my solution different?

Bonus: WHO is my solution different and better for?


Always use an instructions.md or AI-Instructions file to dictate house style, give your AI assistant some ground rules, etc...

Gabe Perez

@matt__mcdonagh ohhhh, that's actually a good one. "who will be using it" can inform a lot actually. I'm going to add that to my list!

Ajin Sunny

Please don't jump in. Always plan it out.

Added benefits of planning out is that the end outcome will always be more polished and you will get to the end out come sooner rather than later.

Gabe Perez

@ajinsunny I'm starting to notice this! Even something small like planning color palette and giving it to the agent has a big impact

Milan Admin

First jump into Claude and ask it to generate a prompt for Cursor about the project.
Then jump into Cursor and ensure Agent mode is on and enter the prompt from Claude.

Chris Messina
Top Hunter

Measure twice, cut once as they say!


Thinking about what you're trying to do, writing it down, and then iterating on it is probably the best way to be productive, rather than using the hunt-and-peck method of coding.


Slow is fast, as they say.


What you're describing also sounds like the Reasoning step that LLMs now use to plan out their next steps โ€” so if it's good enough for LLMs, it should be a lesson to humans too!


Lastly, maybe give ChatPRD a try?

Gabe Perez

@chrismessina very well said. I loled cause "hunt-and-peck" was definitely how I started. Maybe the LLMs influenced my process. Will def try ChatPRD! Have you used it?

Chris Messina
Top Hunter

@gabe Haven't had a use case yet, but it's @cvolawless's thing โ€” and it seems like it's gaining significant traction since I last hunted it: @ChatPRD!

andrea stivala

usually when i vibe code i do it for work on my thesis project in python data analysis, i created an app that uses my scripts in a user friendly way, to do that i used cursor, integrating a defined and niche specific .cursorrules file and also recently i updated a new version of memory-bank-cursor repo that uses also task master for task generation and subsequent buiding. this system helps me having a very good workflow with memory of my project constantly saved in order to make the AI more context aware and make it easier for it to generate working code having accurate step b step instructions. of course this method wont create you the final app of your dreams, but for sure you will have a solid starting point or even an MVP depending on your goals and difficulty of the concept

Hope i helped you!


Mida

Hey, super agree with your points, as a backend engineer (in the past, now I'm an engineering manager), I believe every vibe coder has to understand data flow and storage at the conceptual level. You can always rewrite frontend logic or tweak the UI, but once your customers start using the product and you realise a week later that the data model isnโ€™t right, migrating it becomes a real headache, and no AI tool can save you from that ๐Ÿ˜€.

It might sound simple, but you must understand how your project works and be able to explain the data flow to someone else.

Curious to hear your opinion, I might be biased by my backend experience

Andres Vlaeminck
Launching soon!

I completely agree with your approach to structure before coding. The most critical step that's often overlooked in vibe coding is defining a solid architecture before writing your first prompt.

What I've found essential is maintaining strict control over this architecture - don't let Cursor or any AI make architectural decisions on the fly. When the AI suggests structural changes, take significant time to evaluate them before implementation. The fundamental challenge with vibe coding is that its default objective is "make it work at any cost" rather than "build something scalable, maintainable, and modular."

This distinction became crystal clear when I built my document retrieval system. I've spent over a year developing an internal API that offers a fundamentally different approach to document retrieval - moving beyond traditional vector or full-text search to an AI-first methodology. While I never initially planned to release it publicly, I recently decided to test vibe coding by building an admin UI for this API.

The results were honestly astonishing - in just one week I was able to complete the entire frontend system for https://spyk.io. However, it's important to note that the AI didn't write any backend code (except adding documentation comments). The core functionality required careful human architecture and implementation.


The key takeaway: stay ahead of the AI, understand every piece of your codebase, and maintain control over why things are built a certain way. When you establish these guardrails, the speed at which you can ship becomes truly remarkable.