It’s My Code Not Vibe Code
I really don’t like “Vibe Coding” as applied to any use of AI tools to code. Vibe Coding is when you “get stuff developed without looking at the code”. It’s for weekend projects and has its place. But real code delivered to clients isn’t “vibe coding” - it’s code I need to understand, verify, vet and deliver with my and my company’s reputation on the line. It’s my code developed much faster and to high quality with the assistance of AI.
My current client has no restrictions on using AI and I’m having a ball with all my tools and the productivity they bring. One of them is the free Roo Code plugin for VS Code. I can give prompts that spur action across an entire codebase, not just a single file with a chatbot. It’s AMAZING.
The difference between vibe coding is that I’m paying attention to the code, the documentation, the testing. I’m not writing much of it, I’m the product owner, project manager and senior developer all rolled into one.
I COULD be writing the code, but for this project I’ve gotten great results from the AI (various ones via api).
The task was to create an automated testing framework for Snowflake (cloud database) RBAC - role based access controls. For each role, I wanted comprehensive tests for positive and negative. Can you do everything you are supposed to be able to do and are you prevented from doing anything else.
The AI and I wrote two week’s worth of code in about a day. And then I had to test, walk through, evaluate - take ownership. I had this ITCH that something wasn’t right. The code worked, it was sophisticated, clever and comprehensive — but it wasn’t actually testing the RIGHT THING. Basically, every granted privilege was tested. For example, if I gave a role read rights, the test would verify that it could SELECT from a table — but that’s just confirming Snowflake’s built-in behavior, not whether my roles were designed correctly.
What I needed was a proper canon of what database/schema level roles (ro, rw, fa) SHOULD be like and then test my roles against the canon. That was MY brain, my intelligence, my ownership of the task.
Imagine if I had hand coded this blind alley. Instead of a day of misguided effort, I’d have had two weeks of wasted effort. The AI and I talked this out, and then wrote a refactoring prompt - and within 5 minutes - the entire app including documentation was refactored to be based off comparing roles to canon.
After debugging the code together with the AI - I used the most powerful and expensive model (OpenAI’s o3 Pro) to look at my requirements file, and then do a comprehensive code review including the documentation.
This created a comprehensive document that did indeed uncover some issues that needed to be improved. Then I instructed a powerful but cheaper model (Gemini 2.5 Pro) to implement all of the suggestions.
All in, about a day and a half of coding for a solid two week’s of results - documented far better than I ever do myself - for about $8 in API costs. We coded together. We thought together. We architected together. Faster than me alone for sure.
I will present the code to the client, walk through it, explain it, answer questions about the code. It is MY code, not VIBE code. Delivered faster, tested deeper, and documented better — with generative AI as my partner, not my replacement.