Writing for
Good
Insights
In Brief
Vibe coding is a collaborative way to build software with AI assistants. It speeds up development, reduces repetitive work, and helps you focus on key decisions while exploring new tools and tech stacks.
What is Vibe Coding?
The term vibe coding was coined by Andrej Karpathy. On Feb 2, 2025, he posted on X about a “new kind of coding I call ‘vibe coding’”.
Vibe coding is a collaborative approach to software development where you work alongside an AI assistant—like ChatGPT, Claude, or others—to write, iterate on, and test code. Instead of traditional prompt engineering or ad hoc code generation, vibe coding is about creating a shared workflow between you and AI.
Think of it like pair programming with a lightning-fast minion dev that never gets tired and has read (almost) the entire internet.
While this approach is especially helpful for solo builders or small teams, it’s increasingly relevant for developers of all skill levels looking to move faster, explore new technologies, or reduce cognitive overhead.

Why should you care?
Even if your current workflow is efficient, AI coding tools are becoming a core part of modern software development. Vibe coding isn’t a gimmick; it’s a shift in how we write, test, and structure code.
Vibe coding can help you:
- Accelerate prototyping or internal tooling
- Offload boilerplate or repetitive tasks
- Improve test coverage with less friction
- Explore new stacks without a steep ramp-up
- Stay focused on what to build rather than how to write every line
That said, this workflow is not about outsourcing your judgment. You’re still the only true dev in the mix, AI just gets to be the minion with great coding abilities.
What Do You Need to Get Started?
Here’s a look at some tools commonly used for vibe coding. Think of them as dev environments with AI baked in.
Tool Options
Tool | Description | Best For |
---|---|---|
Windsurf | Fork of VS Code with AI chat + write modes, memory, browser preview, and smart tab completions. | Full-featured local development |
Cursor | Another AI-native fork of VS Code with tight integration and code context awareness. | Day-to-day code work with AI suggestions |
Claude/ChatGPT Canvas | Browser-based, lightweight environments for writing and running HTML/JS code. | Quick experiments, UI mockups |
Replit | Cloud IDE that includes AI + one-click deployment. | Web app prototyping, scripting |
💡 If you’re already comfortable in VS Code, Windsurf or Cursor will feel very familiar—just more helpful.
Choosing a tech stack (hint: go where the AI has experience)
AI is more effective in languages it’s seen a lot. This doesn’t mean you can’t use niche tech, but starting with popular ecosystems will make your “minion” far more capable.
Recommended combinations
Frontend: HTML + CSS + JavaScript
(Add React, Angular, or a UI library like Bootstrap if needed)Backend: Python (with FastAPI or Flask). Java with Spring works well too.
(or use Node.js if you prefer to stay in JavaScript)Databases: SQLite or Postgres
(easy for AI to scaffold queries, tables, and schema validation)
🤖 JavaScript is the most common language AI is trained on. Python is the most AI-native. Choose what feels intuitive to you.
Step-by-step: The Vibe Coding Workflow
This is the heart of it. Vibe coding follows a loop-based development style that keeps things modular, testable, and safe to iterate.
1. Define Your Plan
Use AI to help generate two key files:
- prd.md: A clear product requirements doc
- to-do.md: A breakdown of features, tasks, or epics to build
Example prompt:
“Write a PRD for an app that summarizes research papers and lets me search through them using AI.”
Spend a fair amount of time in these documents—they are the context and foundation for the AI models to draw from. Be descriptive and diligent here.
2. Build One Feature at a Time
Choose a task from your to-do list and work on that only. Ask AI to:
- Scaffold the code
- Reuse existing patterns
- Avoid unnecessary rewrites
3. Write Tests Immediately After Each Feature
Tests are the guardrails for your code. Use AI to:
- Generate unit/integration tests
- Include edge cases and failure scenarios
4. Run the Tests
- Run tests for the new feature
- Then run the full test suite
- If anything fails, fix or update the test or code accordingly
5. Version Control Your Work
- Use git to save your progress (commit very frequently, the AI can write the commit message too!)
- Push to your remote repository (GitHub, GitLab, etc.) for backup and collaboration
- If something goes wrong, roll back to a previous commit
Adding Structure: Rules for Better AI Collaboration
Most AI-native editors support rules, which are like system prompts that persist across your session.
Some sample global rules:
- Prefer simple and modular solutions
- Only write new code if existing code can’t be reused
- Keep files under 300 lines
- Always write and run tests for every new feature
- Restart the dev server after code changes
These rules help guide the assistant to work with you, not against your architecture or preferences
Security and Responsibility
(Yes, It Matters)
AI makes it easy to ship fast, but speed shouldn’t come at the cost of safety or maintainability.
A few best practices you should know by heart at this point!:
- Never commit API keys or credentials, use
.gitignore
- Don’t write your own auth unless necessary, use trusted providers
- Rate limit your APIs and validate user input
- Perform a security audit before deploying anything
- Automate tests for critical flows
If you’re unsure what counts as “critical,” ask AI:
“What are common security risks in a FastAPI app?”
or
“What parts of my app should have automated testing?”
But remember: you are the one responsible here. Exercise your ethics and put in the effort to learn your craft. The more knowledge you have, the easier it is to catch and solve problems early.
When to Use Vibe Coding
(and When to Skip It)
Use vibe coding for:
- Internal tools or admin dashboards
- One-off scripts or bots
- Exploring new tech stacks
- Small-to-medium solo projects
Avoid vibe coding for:
- Highly regulated or safety-critical systems
- Large teams without clear version control
- Codebases with no test coverage or CI/CD
🔍 Remember: AI can help you code faster, but not always safer. Be intentional about where and how you apply it.
“Code is read much more often than it is written.”
Final Thoughts: It’s Not About Replacing You
Vibe coding isn’t here to replace developers; it’s here to remove friction, unlock creativity, and empower learning. Whether you’re shipping a proof of concept or just tinkering with an idea, you don’t have to do it alone anymore.
So next time you’re staring at a blank file or just need help thinking through edge cases, invite your AI assistant to pair up. You might be surprised how far the two of you can go.
Further Exploration
- Windsurf Editor
- Cursor IDE
- GitHut 2.0 – See language popularity trends
- Awesome Cursor Rules – Predefined best practices per language
- Windsurf Rules Directory
- Cursor’s Rules for AI
Th-Th-Th-That’s All Folks!