
Have you ever wanted to make a website, build an app or prototype a digital idea but been put off by the costs of hiring a developer? Or, have you ever tried writing the code yourself and found it too difficult?
We’re talking about AI-assisted code editors that help you write the code based on your prompt/s. I’ve been using them a lot recently and its made me question my last 20 years of learning web development! I’ve been able to build complicated web apps and websites that could have taken me weeks.
Let’s look at what vibe coding is, popular platforms, my current preferred workflow, potential limitations and some practical use cases.
The term “vibe coding” was coined in 2025 by AI researcher Andrej Karpathy, describing a creative, idea-driven approach where you focus on the “vibe” of what you want, not the nitty-gritty of code.
There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper…
— Andrej Karpathy (@karpathy) February 2, 2025
Think of it like describing what you want to a really, really smart assistant. Instead of painstakingly writing lines of code, you tell the AI, “I need a landing page for my bakery that feels warm and inviting, with a photo gallery and an email signup form.” The AI then generates the basic code for you. It’s not perfect, of course – you’ll may need to tweak it – but it gives you a massive head start.
It’s a shift away from the traditional coding process, which can be very difficult for those without a strong technical background. Traditionally, you’d need to understand HTML, CSS, JavaScript (and potentially many other languages!) to build even a simple website. Vibe Coding has the potential to remove the technical knowledge barrier in building websites, apps and software.
I say “potential to” as whilst I am amazed at current capabilities I still encounter bugs that need squashing and the need for certain technical knowledge in order to know what to prompt or what to do next. There are many non-coders though who have used vibe-coding to produce fully functioning websites and apps though so it is definitely possible.
Vibe Coding platforms
Here are some of the Vibe Coding Tools that I’ve used and been impressed by: (A quick note, things are happening so quickly in this space that the performance of a tool can transform with an update overnight. I’d suggest trying at least a couple of tools to see what works for you.)
-
Cursor - Cursor is what I tend to use most at the moment. I like the familiar feel of a traditional IDE (software used for writing code) as it is based on VS Code (a popular IDE). I also like the integration of new technologies such as recent MCP support.
-
Bolt.new - I was amazed the first time I used Bolt.dev as everything happened in the browser and I hadn’t seen that before. I like it for quick prototyping and use it quite often for ideating UI and app functionality. Whilst I haven’t tried this feature yet I noticed they now Stripe integration advertised on their homepage. I’ve also tried bolt.diy which can be run locally and is one I’m looking forward to using more in the future.
-
Lovable.dev - Lovable seems similar to Bolt in that it has a slick, in-browser experience. I really like some of the designs it comes up with and again I use it mostly for prototyping and playing with ideas. I have found Lovable to be amongst the best for user interfaces and out of the box integrations.
-
v0 - I haven’t used v0 a lot but when I have used it I’ve found it to be one of the quicker tools. I like to use it for quick, simple tasks or creating individual components.
-
Replit - Replit is another that I haven’t used much. However, when I have used it I’ve been impressed by the workflow and interface. I like how it checked items it wasn’t sure about and made suggestions before proceeding with the build. I’ve had a fairly high success in creating functional apps with Replit when compared to other in-browser options.
-
Windsurf - I think my best results have come using Windsurf. I recently built a booking app using Windsurf and found it to be a very smooth experience. There were still issues to work through and quite a lot of prompting to get things perfect but I was really happy with the end result (as was the end user). I often swap back and forth between Cursor and Windsurf - sometimes influenced by how many credits are left in either account in a given month!
There’s a lot I haven’t looked and this is by no means intended to be a review of any of the platforms, just some quick thoughts. I’m a solo developer with quite a few years of web development experience so my usage is probably different to someone with no development experience, who may gravitate more towards the browser based tools, or a team that may require colaboration features.
Workflow
Briefly, my current preferred workflow is to use Lovable, Bolt, Replit or v0 to generate some interface ideas if I’m in the very early stages of a project. I will often use multiple platforms at once and pick the results I prefer.
Once, I’ve got some more solid thoughts on interface or whatever else I needed to ideate I’ll write a short summary of the App/Website/Tool and ask Grok, ChatGPT or Claude to produce a PRD (Product Requirements Document). If I don’t know what specific tech stack I need I may also ask for input on this, then discuss pros and cons with the LLM before asking for this to be included in the PRD. Generally I have a tech stack in mind so I specify this in my short summary. I also ask for a database schema to be included if necessary. I will then review the PRD with a cup of coffee and make any adjustments. I’m sure many will say the PRD step isn’t necessary but I find it helpful for realising things I may have missed and for making me analyse the plan. I more often than not find things I’ve missed during this process so I think it is valuable.
Once I have a PRD I will ask the LLM to break the PRD down into steps for development with a prompt for each step. I will then copy this into a specs.md file and add it to my project once created in the next step.
Now, I will start a new project in Cursor or Windsurf on my local machine. Recently I’ve been starting by pulling a custom starter project from GitHub with my chosen tech stack (often Nextjs, Tailwind,ShadCN, Supabase), which also contains a custom rules.md file and some extra instructions such as to maintain a changelog, Readme and a schema file. I have made a couple of starter projects for common stacks that I find work well as a starting point and plan to share these on my website. If I didn’t have a starter project I would ask Cursor/Windsurf to start the project - I would keep any prompts from specs.md away from the AI until this is done as I have often found starting the project to be most problematic, hence why I like to use my own starter project.
Now I will create a new GitHub repo (or will have cloned in previous step). I think using version control is fairly essential as things can go wrong at any time and trying to go back and salvage a project when things have already gone wrong can be problematic.
From here I will use the prompts from the spec.md file. Generally I tend to copy and paste them manually or instruct something like “Now do prompt 3 from spec.md”. I find there’s rarely a project where things go completely smoothly so my workflow needs to be flexible and reactive. This covers the main components and once I have worked through the specs and go a working app I will play with it and maybe go live if appropriate.
I’ll do a full workflow breakdown post or video in the future which will include pushing a project live. Currently my wokflow changes weekly!
Limitations
There have been instances shared of security issues, bugs and copyright issues from vibe-coded websites/apps/software. It is important to realise that just because something appears to work or looks good doesn’t guarantee that the code is free of issues or vulnerabilities.
IDEA: Perhaps this is a business opportunity, providing code/security audits to vibe coders?
Personally, with the current state of the tools, I use them mostly for prototyping, building specific components, or producing sites or apps for fun where any errors in the code that I miss would not cause a serious issue. I am not doing anything that involves sensitive data, payments or anything else that could cause issues if things went wrong.
I look forward to the tools continuing to improve so that I feel more comfortable using them on a broader range of projects, but for now I won’t be resigning my human coding skills completely!
Practical Use Cases
Some people are using vibe coding with great success and producing full SASS offerings, websites, apps and even games. However, as I mentioned above, at this stage I am using them more cautiously. Here are some things I’ve used prompt-driven coding for:
- Simple Landing Pages: I’ve made dozens of these - mostly for myself as a tool to see what an idea looks like on the page. A lot of the time the ideas go no further than that, but the ability to have a good looking landing page in 5 minutes is valuable to me.
- Internal Tools: This is probably the case I’ve spent most time on. I’ve made several tools for myself to help with development processes and research. I’ve also recently made a meeting room booking system for a company that wanted an easy system for office users to book the meeting room - they’ve been very happy with the outcome.
- Interactive Demos/Prototypes: I’ve used this to show ideas to others. Sometimes a presentation or description doesn’t quite do an idea justice and having a working or partially working demo can have a lot more impact. I recently helped a friend turn an idea he was pitching for funding into a partially working prototype in a couple of hours - feedback was great.
- Populating Demo Content: If you have ever built websites but not had the content prepared in advance you may well have used “Lorem Ipsum” demo text or some of the more interesting derivatives as well as images from various copyright free sources. Now, however I can just ask A.I. to fill the site with demo content. A great time saver.
I hope this post has been useful. Feel free to reach out with questions or comments on X - @HumanBenX