My workflow for "vibe coding" with AI

Before you build

Before jumping into coding, it has been super helpful for me to clearly list out all the ideal user flows for different scenarios. Several people have helped me a lot with that. As engineers, we are biased towards building. But taking a step back to just draw it all out without worrying about how we will implement it is very important.

Once I have the ideal user flows listed, I begin with any one flow. Since I already know the steps that lie ahead, I can be very specific about what I want the LLM/agent to do. LLMs are (usually) good at building something specific rather than building a whole system themselves. Sure, you can see many people demoing that from a single prompt they can build an entire game or app. From my experience, it is true that they can give a very good headstart when starting a new app. But once my app grows and if I have a specific flow (and taste) in mind, then, breaking it down into small steps and asking it to execute that individual step is what has worked for me - sometimes in one shot and sometimes with multiple iterations of me specifying where it went wrong and reiterating what I actually asked for.

Get started with Lovable

Lovable seemed the best out of v0/bolt/lovable when I tried a couple of the same prompts on all of them in terms of aesthetics, design, flow of the app and in general, matching what I had in my mind. It is still far from perfect, but at least better than the rest.

I use it when I want different variations of how to build a component, or when I already have a specific component from an app whose style I want to copy. I just provide Lovable with an example of my current app's design and ask it to adapt that feature to match my app's theme.

Sometimes I ask it to build a feature entirely and provide different variants so that I can easily see what definitely looks ugly, what might work, and get some good ideas. I do this by explicitly asking it to show me different ways in which it can be done and to be creative with layout, style, orientation, theme, etc.

Build for real with Cursor

I pull whatever looks like a decent start into Cursor if I am starting from scratch or just take a screenshot of the component I liked and pass that to Cursor. Cursor is where the real power is unlocked.

Here are a lot of things I have learned in my short time:

Generate beautiful SVGs with Claude.ai

Claude.ai is great at generating beautiful SVGs as I work with its Canvas. I keep iterating and giving feedback and I can quickly get my own custom SVG.

Create engaging copy with GPT4.5 / Claude.ai

Cursor is not that good at writing good copy for different placeholders or different parts of the app where we need to communicate with the users. I found a mix of GPT4.5 / Claude 3.7 the app to be great at understanding my intent of what I want to communicate and giving me good samples for the copy that I am now using throughout the app.