Vibe Coding with AI IDEs: Lessons from 6 Months of Building Fast, Fun, and (Sometimes) Fragile Projects
Over the past six months, I've been deep in what I call vibe coding — a creative, fast-paced way of building things with the help of AI-powered IDEs, particularly Cursor.
⚠️ This post is primarily aimed at developers using Cursor or similar agentic IDEs for small to mid-size projects. For large-scale projects, making Cursor truly efficient requires additional layers of setup, discipline, and tooling.
My goal was simple: build useful stuff with as little friction as possible.
In this post, I’ll walk you through what I built, why I chose Cursor, what went wrong, what went surprisingly well, and what I’d recommend if you're diving into AI-assisted development yourself.
What I Built
Here are some of the projects I created using this workflow:
- TrackChanges.app — A tool to monitor and alert on spreadsheet changes.
- Chrome Extension (later PWA) — Built for TrackChanges, later abandoned due to poor UX caused by browser and PWA limitations.
- Electron App for File Comparison — On hold, but it was a great exercise in code reuse across projects using my own libraries.
- 3-4 Marketing Landing Pages — Built and tossed while testing and iterating on marketing strategies for TrackChanges.
- ChatGPT-like Interface for ProductPirates.club — For analyzing 3300 product management job ads from multiple regions. Involved preprocessing, structured storage, and building a chat-driven analysis tool.
- 3 MCPs (Multi-Context Plugins) — Custom plugins for Cursor to give it deeper access to my project-specific structure, logic and services.
- One bigger, more complex project — Still under wraps, but it’s been a significant stress-test for both me and Cursor.
Why I Chose Cursor
When I first tested several AI IDEs about 7-8 months ago, Cursor stood out. Its early support for agentic workflows (having the AI act more like an assistant than a clippy-style suggestion box) made it the most promising option.
I’ve also tested Windsurf and JetBrains AI features. They’re improving, but for larger, more complex projects, Cursor remains my top choice.
That said, it’s not perfect. Cursor is known for moving fast and breaking things. Many of us even downgraded to version 0.45 because it was the last stable and speedy release for a while.
Tip: If you're frustrated with the latest Cursor version, try downgrading to 0.45 while it still works.
How to Use Agentic IDEs Effectively (Without Losing Your Mind)
Here are key lessons I’ve learned while working with Cursor in vibe-coding mode:
1. Always Review AI Code
AI is fast, but not careful. One time, it generated an authentication flow with a critical vulnerability—I only caught it because I specifically asked it to check for that type of issue.
2. Expect Messy Code by Default
Unless you explicitly ask the AI to refactor, you’ll often end up with inconsistent or overly nested code. Be brave: ask for refactoring and modularization.
3. Use Project-Specific Rule Files
I’ve now moved to using Cursor’s new project-specific rule files (see official docs), which replace the older .cursorrules
file. I maintain over 20 custom rules per project—reminders, constraints, or patches for repetitive AI missteps. These rules help guide Cursor’s behavior and avoid common issues I ran into frequently.
4. Get Good at Describing Tasks
Think like a senior PM. The better your prompt/spec, the better the output. You’re not just coding—you’re managing a junior dev who works at light speed and sometimes forgets what you said 30 seconds ago.
5. Use Logs + Verbose Mode
When the AI gets stuck, ask it to add verbose logging (ideally behind a debug flag), then feed it the logs to help debug. Think of this as pair programming.
6. Mix Models If Needed
Cursor supports switching between AI models. If one model isn’t helping, switch temporarily to another to get a different perspective. Just be aware that switching models may affect code style.
7. Don’t Fear Long Prompts
AI handles long prompts well. I’ve even used OpenAI’s GPT-4 to help me write better prompts for Claude Sonnet (yes, AI helping me talk to AI).
8. Watch Out for AI Breaking Context
AI tends to "forget" things or remove code unintentionally. This is why you need tests and why you should run them often.
9. Write Tests, and Run Them Often
You’ll need to wear a QA hat. AI doesn’t always break things where you expect, and when asked to "fix tests," it may just fudge them to pass.
10. Know When to Fix It Yourself
If it’s a quick fix, just do it manually. Don’t waste tokens and time delegating trivial work.
11. Use Git — Always
AI can and will break things. Cursor’s “Restore Checkpoint” feature is nice, but not a substitute for proper version control. Use Git, commit often, and branch for risky changes.
12. Avoid Large (>1000 LOC) Complex Files
Files with 1000+ lines of raw JS/TS and complex logic often overwhelm Cursor. Refactor early. Ask the AI to help split files into smaller modules. If you ignore this, Cursor may start behaving erratically, or worse, degrade your code quality without you realizing.
Hats You Need to Wear When Vibe Coding with AI
When using AI to build full-stack or moderately complex projects, you’re not just a developer anymore. You are:
- Senior Product Manager — Writing clear specs and problem statements.
- Software Architect — Directing structure and boundaries.
- QA Engineer — Running tests, debugging, and checking regressions.
- Lead Engineer — Reviewing inconsistent AI code styles and suggesting fixes.
- Prompt Engineer — Continuously improving how you talk to the AI.
- Developer — Sometimes, you need to step in and propose better, more efficient fixes, or ask for code to work in a very specific way to ensure it behaves as expected.
It's a different style of working. If you're experienced, it can be incredibly empowering. If you're early in your journey, be prepared for a learning curve.
Final Thoughts
Is vibe coding with AI IDEs easy? Not exactly.
Is it worth it? Absolutely.
You’ll move fast, build weird and interesting things, and push the boundaries of what solo devs can do. Just don’t forget that you're still the human in charge—and your AI teammate needs a lot of guidance.
Thinking about using Cursor for bigger builds? Hit me up—happy to dive deeper in a future post.
Let me know—I might write about that next.
Member discussion