Make Millions Building Software With AI (As A Beginner): Intro to Vibe Coding
Learn how total novice engineers -- even some that can’t program at all -- implement "vibe coding" with AI to ship projects at warp speed and build amazing things with ease.
Intro
Hello all! I’m back, for now. I am so sorry for my lack of attention to Substack. I have been in poor health and still have numerous pressing matters to attend to in real life. Like, literal emergencies. Life is hectic right now...
The previously planned outlined articles are still in progress. I still wanted to bring you something to read up on, so please, enjoy this short article on vibe coding and how to master it in a short amount of time. I can’t wait to see what you build!
P.S. This article should be read in one sitting. Some things are in order of relevance, and not teachings. You may not understand some things at first, but read it all, explore the linked content and do your best.
- HS (@ keygen)
Defining Vibe Coding
When asking ChatGPT about:
"‘Vibe coding’ isn't a strict technical term — it's a casual phrase people often use to describe coding based on feeling, intuition, and flow rather than a rigid plan.”
But in today’s current culture, vibe coding is colloquial to AI assisted, or “no code” programming. Some would say that it still matches the original definition as you are just following the AI, but I digress.
So, with that being said, how do you do it?
First, we will discuss the tools.
Common Vibe Coding Tools
We are going to cover the two most common tools used in vibe coding: AI enabled IDEs and proprietary “no code” engineering sites. Let’s start with the proprietary sites first.
Proprietary “No Code” Engineering Sites: These sites are created and marketed on the basis of “you need NO programming knowledge to make a software”.
Without a doubt, the two most popular are Bolt (https://bolt.new) and Lovable (https://lovable.dev). These sites are GREAT to start with to teach yourself how to prompt, implement integrations like a ChatGPT/OpenAI API that allows you to make your own chat bot and analyze images, learning Supabase for the website’s back end, etc. Signing up for Lovable, fully reading the documents on their site and playing around is probably the quickest way to learn. But, it is costly. 200 messages (sent) a month is $50 on Lovable.
Bolt vs. Lovable: To keep it short and sweet, Lovable is far more expensive, but takes the cake. Lovable often produces better design [update, as of 4/28/2025, Bolt’s design capabilities have been upgraded and look better but the site still isn’t my top pick], has a better trained proprietary model, more integrations available by default, more scalable code, is better at following instructions, has additional features built in like “Chat Mode” to do deep dives and go back and fourth on errors and problems, GitHub support, etc. But, that’s not to knock Bolt.
It’s cheaper and getting better and better as time goes on. If you don’t want to buy a premium membership to mess around with to learn how to prompt and read the code a bit better, try Bolt for free. But be sure to read the rest of this article first to get a good idea of where to start.
Click this sentence to sign up and get 200k usage tokens for free!
With that being said, I still prefer Lovable. I am guilty of paying for a small subscription from them for generating an initial codebase and scaffolding out a site fully.
If you have some money to spend to experiment and learn (and you’re willing to read some super simple documents -- they even give you walkthroughs of entire creations), by the time you’ve read this article, you’ll be well off enough to make the most of a paid account. I started with a $100 subscription, spent all the tokens in a few days learning how everything worked (multiple unoptimized prompts, making one change a message, building a page an asset at a time, etc).
Bonus: bolt.diy
Bolt.diy is an open source project which attempts to mimic the abilities of Bolt.new in a self-hosted, bring your own API key manner (aka you pay for the AI being used and you connect directly to the provider, like OpenAI or Anthropic). It is many updates behind Bolt.new at this point (especially in the new design update), but using it is EXTREMELY cheap, pretty effective, still developed and good for scaffolding larger projects if you need. Just not the most amazing designer, but provides a good start for fractions of a fraction of a singular cent.
If you would like me to write an article on how to set it up and the best practices to use while scaffolding with it, let me know.
AI Enabled IDEs: An IDE is an Integrated Development. Think of the Notepad application on the computer as an empty sandbox. You can use it to program or play, sure. But the scope will be limited. Think of the IDE as the play pit with all of your favorite toys; so many more possibilities! All the tools needed for development are in one place, essentially. Much more modular.
There are a few AI centric IDEs that are good for vibe coding. Cursor and Windsurf are the most popular (links attached to them). Keep in mind, these IDEs were developed for more seasoned developers and are still “manual code centric”. They can easily be used for vibe coding if the methodology is right, though. With the right provisioning you can get Cursor to act like Lovable (I am developing an MCP server plugin for that right now; will write an article on how to use it when it is done).
But, I digress.
There are also plenty of AI powered plugins for regular base IDEs, like Github Copilot. But, we aren’t going to touch on those. Most of the fully revamped IDEs have many more important features added and are much better. Anyways, which IDE is the best out of both of them?
Cursor vs. Windsurf: This one is a bit harder because these two companies are in what is essentially a digital arms race. One will gain a leg up on the other, and then it reverses. Both have very similar technology... They’re built on the same base IDE, Visual Studio Code, and have almost 1:1 functionality. Here is my opinion:
+ The pricing model of Cursor is EXTREMELY fair, and they offer a 2 week “Pro” trial upon sign up without a card to prove it is a good value. For only $20 a month, you get access to their software suite, premium AI integrations, 500 “fast” requests (sent messages) per month on any AI model and UNLIMITED “slow” requests (which really are not that slow) again, on any AI model.
+ Windsurf has limits set on “premium” AI models. For $15 a month, you can get 500 requests, similar to the Cursor requests.
+ Cursor has great codebase and content awareness as of writing this but sometimes Windsurf’s implementation of that is better. Currently, in my testing, they’re about neck and neck.
+ The leg up Windsurf absolutely has is an actual automatic and manual “Memory” function. There are MCP servers to plug in to Cursor that can help with that and add a version of that function, but it’s not the same. Developers have said it is in the works.
+ Despite this, Cursor still seems to outperform in implementations and most all other tasks.
For my use case, primarily due to the performance and pricing model, I choose Cursor. I can only pray that they implement their own memory, and soon. That would increase its abilities by tenfold.
So, now that you know the choice software and maybe have an idea of how they work, let’s go through some “do’s and dont’s”.
“Do’s and Don’ts” of Vibe Coding: Tool Usage, Practices and More
DO: Prompt with tact
When vibe coding, you should be as specific as possible with your prompting. Tell the AI exactly what you’re seeing, on what page with what button, card, header, whatever. Being very descriptive about issues and requests will get you very, very far. Use terms like “Think step by step to fix this” or “Think outside the box and avoid repeating previous fixes that didn’t work” if something breaks. Be sure to let the AI know in the first prompt an exact roadmap for the feature implementation, rules (more on that later -- stuff like “consistent global design and style across pages”), that you want it to be “as close as possible to ready for back end integration after scaffolding”, etc.
Basically, study up on prompting and put everything on the table + constantly go in depth.
And, as an additional tip:
To save on Bolt tokens and Lovable messages, make your prompts as large as possible; give as many tasks as you can unless debugging an issue or doing something that requires IMMENSE care. I’ve fed Lovable 3,000+ word messages on very specific scaffolding instructions for an entire site and its dashboards, mock data, pop up modals, structured menus, etc. It generally does well.
I have some docs linked below from Bolt and Lovable -- both talk about efficient prompting. But don’t let them trick you in to thinking you can’t use large, multi-step prompts.
DON’T: Get stuck on making something to your specifications manually; try to make the first output as visually appealing and functional as possible
The first output or scaffold of a site (especially if using a long, complex and full prompt) is honestly the most important. If you hate it off rip, refactor your first prompt more specifically and try again.
I will release some of my prompts eventually and I’ll write an entire article on prompting methodology.
DO: Take time to make it a learning experience; become a real developer
It still helps to be a more seasoned engineer; they’re aware of their codebase, the technologies used in it and already existing technologies and solutions for integration. They can also independently fix errors AI gets stuck on. Furthermore, AI will have a hard time implementing APIs and certain libraries, etc, due to having been trained on old data, lacking that data or sourcing poor data.
So, if you’re truly stuck, go to YouTube, StackOverflow, Reddit -- pretend like it’s the good old days; perhaps use Perplexity AI search to try and find something.
Vibing has made me an exponentially better developer, even without itself and AI, and I believe if you pay enough attention, ask the right questions, etc... You essentially have a way of learning more hands on than any formal schooling.
If you wonder about something, ASK! Explore!
DON’T: Deploy your builds from Lovable or Bolt on their hosting options. Self-hosting is better and cheaper
You can get a scalable VPS instance extremely cheap. Though I prefer dedicated offshore servers in Swiss territory, I host many Bolt and Lovable sites using a $12 a month DigitalOcean droplet running Coolify and it works just fine for low traffic sites. Containerization like this on a scalable resource is great for scaling; you can even self-host your own Supabase instance (on Coolify) for later to scale if you’re developing on the Bolt and Lovable stack (Supabase is their back end of choice; they do not support self-hosted instances yet but you can convert relatively easily if you know a little bit about the tech and do your research. They support managed Supabase, a membership where Supabase hosts your server instance and data, but it is expensive).
Just learn to self host, trust me. Server administration and networking is imperative to learn. ChatGPT and tutorials can guide you through it. Here’s a quick video on one way to self host Lovable based projects on a Coolify instance:
DO: Read documentation of your tools -- whether it’s Bolt/Lovable, Cursor or documents for other solutions and technologies
Read up. Have your AI read up too. Feed him proper documentation (most AIs have a proper way to do this) and you feast on the data with him.
Here are some extremely simple documents from Bolt and Lovable. Try reading them after this article. See what you can learn!
I’d bet with this article and those two documents understood you could at minimum scaffold a website fully with a few prompts. You will FOR SURE almost fully understand this article if you pay attention to these docs.
https://support.bolt.new/docs/introduction
https://docs.lovable.dev/introduction
DON’T: Prematurely add a database or prompt backend functionality!
You NEED to finish a beautiful, working, reactive front end with working mock data. Best to make sure that you’ve created a database schema or at least took notes of functionality and where database variables are assuming you prompted it to “program the scaffold as if we were integrating a back end soon with Supabase”. There are a few ways to get the AI to bite and develop a database around placeholder database names; more on that in my next article.
But, essentially, finish and prep the whole front end (scaffold) before adding any back end functionality.
DO: Use additional MCP Servers with your AI powered IDE to expand functionality
MCP means Model Context Protocol. It does what it sounds like it does, adds context. Some examples of awesome MCP servers I use:
Official Supabase MCP Server: Gives Cursor the functionality to edit and interface with my Supabase, just like Lovable if not slightly better (especially with a memory MCP).
Memory MCP Server: Does what it sounds like, adds manual memory.
Context7 MCP Server: MCP server that serves to ALWAYS feed the AI updated documents from technologies for smooth implementations of just about anything. A personal favorite.
Github MCP Server: Allows the AI model to directly interface with your GitHub, making maintaining extremely easy, especially when combined with rules.
One of my favorite sites for MCP server discovery is:
Some servers are easier to configure than others. I might have to make an article on configuring them with Cursor.
DON’T: Ignore Github
Learn how to use Github. If you’re going to claim “developer status”, you at least have to know how to use Git and GitHub. Lovable allows you to connect to GitHub and easily push your scaffolded site to a repository in which you can clone and make commits. It is also easy to host with Coolify from a public or private repository.
Don’t lean on the Github MCP too much. Actually learn how to use the command line, silly.
I might write a Github crash course article! Let me know if you’d be interested.
DO: Add “knowledge” or “rules” to your AI’s settings
In the settings of almost every AI program, there’s going to be a “master prompt”, “docs”, “knowledge”, etc. In Cursor, it is “Rules” under Cursor settings. This is a great place to put global instructions, protocols, behaviors, MCP interaction rules, etc.
Click here to see an example of some rules I fed Cursor (they’re messy, but they work).
MOST IMPORTANT “DON’T” - MY METHOD TO FAST, SUCCESSFUL LAUNCHES FOR CHEAP
DON’T: Spend $100+ a month on Lovable or Bolt messages/tokens. Here’s how to vibe code full developments with about $20-45 a month with unlimited prompting (there will be an article which is a full tutorial for beginners on this part in specific coming out soon)
I used to spend at least $200 a month on Lovable credits -- sometimes up to around $500. Until, a miracle. I found this methodology I am about to summarize to you.
Use Lovable to scaffold a page you like (you get 5 free messages a day, if you get really good at prompting this could be enough for a full site scaffold); WRITE A BIG PROMPT (or multiple but make good use of your credits). Give clear and concise descriptions, style guides, functionality requests, site navigation should be explained, etc. Include instructions to “build in a manner so it is easy to scale, add consistent commenting, prepare this scaffolded site to eventually be ready for full back end functionality with what you generate (Supabase), add mock data that replicates back end functionality, etc”. If a poorly made site is pushed out, you can ask ChatGPT to refine your prompt and add missing instructions (without removing specifics).
When you’ve managed to scaffold the full scope of your sight with minimal Lovable token spend (hopefully remaining within your 5 free token daily limit), either download it or push it to GitHub and clone it.
Open the new directory in Cursor, ask it to do a deep dive of your codebase for better implementation. If you have the memory MCP, ask it to add the formatting rules and important files structures.
From there, begin to make edits with good prompting as if you were on Lovable, but don’t worry so much about the size of them, just follow good prompting logic. Finish everything else on your front end, begin prepping for the back end and keep vibing!
The next article will be a game changer in the form of tutorials, so this is where my elaboration will stop. But, that shouldn’t stop you from experimenting with these instructions.
Note: I have a fork of bolt.diy that I am trying to work on to add features to that they’re behind on, like Supabase integration and new design schematics. I will release it for free when it is done and you will likely be able to leave Lovable in the dust. Subscribe to stay notified.
Phew! While this wasn’t an exhaustive list, this should be good enough to get you going. But why should you spend your time on this? Well, listen to these examples of how vibe coding can lead directly to prosperity.
Real World Example - Income From Vibing:
Now, you have an outline on how to start and some things to focus on. Even if you don’t understand it fully yet, stick with me! I’ll continue to release guides and tutorials.
As for the example of how vibe Zach Yadegari and Henry Langmack, the teenage founders of CalAI (AI powered diet tracker — take photo of food and it gets the macros) have scaled their vibe coded app originally based off of an API implementation and some basic programming to $30,000,000 annual reoccurring revenue.
If we can snag 75 paid monthly subscribers off of this series for vibe coding, I would happily do a recorded live stream for subscribers called “No sleep until I build a CalAI clone from the GROUND UP with vibe coding”. I would open-source the code, too!
As for my own example, I am getting paid $750-4,750 one time + $65 a month from clients for vibe coding primarily. Doing what? That’s a premium article to be written.
Outro and Potential Bonus for Paid Subscriber Goal:
Thank you all for reading! Sorry for the hard-stop, but it’s getting late and I have other things to work on.
I hope this brief intro in to vibe coding helped you learn a little extra today. Please, if you have a question or comment, leave it below and I will get back to you! I have developed numerous SaaS (Software as a Service) models and have even sold and hosted vibe coded sites to clients for a premium in the past.
If you want a direct guide on how to master vibe coding and immediately begin making money with it, consider subscribing to my publication for $8 per month. When I am posting here, I am offering a lot of value!
Furthermore, at 10 paid monthly subscribers, I would LOVE to release a video of myself vibe coding a fully functional site, SaaS, etc to teach you how to build from beginning to end (for paying subscribers only) using my methodology. The community will pick the software to make based on a poll. I will go over scaffolding the entire site and making assets that can be instantly used with real back end data as well as obscure implementations and more.
Well guys, I think that’s all I have for now. If you didn’t fully understand this article (as I did use some developer lingo), remain calm! I have far more simple articles and tutorial coming out on this topic if it is received well. Again, leave questions and comments below. Thank you so much for reading, and I truly hope to see you build something great!
- HS (@ keygen)
Note To Subscribers:
The next article released will be titled “Don’t Pay For Lovable.dev or Bolt.new! Do This Instead” and will be a simple tutorial on scaffolding a site properly with Lovable, Bolt.new or Bolt.diy (as well as an extra section on best practices if you want to use Cursor only). It will then discuss using Cursor with MCP servers (and more helpful tips we brushed over today) to allow you to vibe code without any limits and hopefully create the software of your dreams!
By the end of the next article, you should be able to follow my methodology 1:1 and have a working webapp.
Content Disclosure:
The article you are currently seeing is a rough draft. I haven’t slept in 3 days -- there will be errors. This note will say “deprecated” when I use AI to proofread it, but I wanted to release a 100% human rough draft rather than AI organized mumbo jumbo.
damn this is awesome!
questions:
1. where are memory and context7 MCP? i couldnt find it
2. on your cursor rules, is it general rules you shared? do you have project rules u can share?
3. do you have method to refactor or review your code? I heard coderabbit is good for review
4. do you have tips when trying to replicate UI by uploading UI screenshot generated by Loveable to be implemented by Cursor? The problem sometimes, when I ask to blend the UI to my code, it still ignoring it and end up keeping the screenshot UI and implement it on my code. Then I have to work around to remove unnecessary UI I dont want.
Thanks!
Love to see another series of this!
Interesting article. What kind of software security work does vide coding do? Doest it check code against OWASP Top Ten or anything like that? How do you verify the generated code is free from vulnerabilities?