Pick the vibe coding tool for where you are, then give it context.

In a September 2025 video I built the same to-do app four ways: ChatGPT, Lovable, Bolt.new, then the exported Bolt code in VS Code with GitHub Copilot. The tool rankings were a September 2025 snapshot, and I said on camera the video would be outdated in a week. The framework still applies: pick the tool for your skill level, then give the AI context so it remembers your project.

The business case

This is the first time I've seen very senior technical people learning the same thing as junior people, at the same time. That's good news for a business owner with an app idea. It also makes picking a tool hard if you've never programmed, which is why I drew the map first.

The cost of a wrong setup shows up later. On a big app with vague requirements, you end up in a prompt loop typing "fix it, fix it" while the AI breaks code it already wrote. In the video I said the five-step context method below is how I've consistently built applications. That method is the part to keep when the tools change.

My vibe coding quadrant

I sort tools on two axes: easy to complex, hobby to professional. ChatGPT and Claude sit on the easy, hobby side. You chat, copy the code, paste it somewhere and run it. At the professional, complex end, AI agents work in the background and you check their progress hours later. My placement of each logo was subjective. Focus on where you are.

I also split tools into four categories: autocomplete and chat tools, agent and assistant tools, IDE platforms, and code-review tools. Beginners live in the first two. Professionals live in the last two. Visual Studio Code owns serious development, and Cursor is a fork of it. I've been a Visual Studio developer for 20 years.

Where each tool fit

Lovable has a consumer feel. Replit suits knowledge workers building internal apps inside a large organization. Bolt.new and v0 sat between easy and professional, and both handed you code a developer can keep working on. Bolt was my go-to for scaffolding a project. v0 was better at UI, but it gave me trouble on full apps and wanted to write Next.js and React.

I build in Vue and Nuxt. In my opinion, Vue is easier for a newcomer to read than React. For seasoned developers, Claude Code was the best on the market when I filmed. I used Claude inside VS Code because I'm a mouse-and-click person. For IDE work the leaders then were GitHub Copilot, Claude and Cursor. Amazon Q Developer was in the picture, but I wouldn't call it a leader.

Build one in ChatGPT

Skip the bare "build me a to-do app" prompt. When I typed that, ChatGPT gave me C# because it knows my history. Create a ChatGPT Project instead, then add instructions: keep everything in HTML, CSS and JavaScript in one file, and link any outside libraries from a CDN. ChatGPT wasn't good at multi-page apps, so one file keeps it on track. I dictated prompts with Wispr Flow. I have no affiliation with them.

To run it, I pasted the code into an index.html file in VS Code and started a simple live-server extension with its Go Live button. The tasks saved in the browser's local storage, so they survived closing the page. You could also drag that one file into Cloudflare and have it on the internet.

Jump to

I build all four versions and set up the context files on screen in the full video on my channel: Vibe coding guide on YouTube.

Lovable and Bolt compared

I gave Lovable the same instructions. It refused a single HTML file and built a React app instead. The interface was much nicer, and one click published it to a live URL. Asking for a light mode version worked too. Exporting the code looked blocked on my plan.

Bolt's UI was plainer, but the code had more structure. It also published in one click. The export is the reason to use it. I downloaded a zip, opened it in VS Code, and used npm to run it locally with npm install and then npm run dev.

Copilot for the long run

Once the code was local, I kept going in GitHub Copilot. It has Ask, Edit and Agent modes. Keep it on Agent for vibe coding. You can highlight one section and have Copilot change only that. That granular control matters once you maintain a larger app over a long period, and I couldn't do it properly in Bolt. For Copilot on a real bug in the terminal, see my GitHub Copilot CLI test.

Context is king

As a web developer I was taught content is king. With AI, context is king. Be very descriptive about what you're building, how it's structured and which features you want. My five steps:

  1. Tell the AI what you're building.
  2. Have it write a software requirements document.
  3. Have it write a feature checklist.
  4. Make it check items off as it finishes them.
  5. Make it document everything, so it can pick up where it left off a week later.

Context is memory, stored as text files. In the demo I talked the requirements through with a voice AI, got the requirements document back in markdown, then a feature checklist grouped by screen.

Wire up the instructions file

Every coding agent reads an instructions file: .github/copilot-instructions.md for Copilot, a Claude file for Claude Code, AGENTS.md for Codex, and a rules folder for Cursor. The same idea works in Windsurf, since renamed Devin Desktop, and Gemini. I had Copilot put both documents in a docs folder, link them from the instructions file, and add a rule to document every new feature there. That loop keeps the docs current as the app grows. When the model veers off, add a note to the instructions file so it doesn't repeat the mistake.

Two gotchas. The AI has no memory of your code, so feed it documentation. If it goes in circles, clear the chat and restart from the files, because long context makes it forget. GitHub Spec Kit had just come out as a more formal version of this approach for large apps. I covered it in Spec Kit for large projects.

Learn the principles

Early GitHub Copilot was garbage, and I never used it. That was no longer true by September 2025. Pick a tool, go hard in it, and learn the principles, because they carry forward when the next tool shows up. The tools still need your judgment, which I wrote about in vibe coding still needs engineering judgment. If you want help choosing a stack and setting up context files for your own app, book a strategy call.

About Dwain

Dwain Browne

I'm Dwain Browne, Founder of LeadScore AI and SnapSuite. I'm a Toronto-based software architect with 25+ years across software, sales, operations and entrepreneurship. SnapSuite helps contractors and trades teams get paid faster, and LeadScore AI shows you which leads deserve your next call. I also run Vibe Code to Profit, a community helping people build software with AI.

YouTube · LinkedIn · Book a call