Back to Blog

Not Auto-Pilot My "Vibe Coding" Workflow with Claude & Gemini

Royan Gagas
January 10, 2026
Share
Not Auto-Pilot My "Vibe Coding" Workflow with Claude & Gemini

In the world of software engineering right now, we seem to be split into two extreme camps. On one side, you have the "Purists" who reject AI because they believe it kills creativity and logic. On the other side, you have the "Auto-Pilots" who hand over 100% of the code to AI without caring what happens under the hood.

Me? I'm right in the middle. I call it "Vibe Coding".

This isn't about being lazy. It is an experiment to understand how the "brain" of AI works, and to prove that AI is an assitant, not a replacement. But there is one absolute requirement: You must have strong fundamentals. If you don't understand architecture, Vibe Coding will quickly turn into Chaos Coding.

Here is a complete 5W+1H breakdown of how I transformed my workflow using "Agentic AI" (like Cursor, Antigravity, and Opencode).

WHAT: What is "Vibe Coding" & My AI Stack?

To me, Vibe Coding is a state where we remain the "Captain", while AI acts as the turbo engine and the navigator. I never ask AI, "Please build me an e-commerce app". That is a mistake. Instead, I ask: "Follow the pattern I established, and replicate the logic for this new feature".

To achieve this, I don't just use one model, I curate my own AI Stack based on the distinct "personality" of each model:

1.Claude Sonnet 4.5 (The Worker): My main executor. I use this for daily tasks and core execution. It is fast, logical, and rarely hallucinates on standard backend logic. and cheap than Opus 4.5.
2.Claude Opus 4.5 (The Architect): I only call him in for Complex Tasks. If there is a circular dependency, a tricky architectural decision, or high-level reasoning required, Opus is the expert. This is the best model for code right now.
3.Gemini 3 Pro (The Visualist): The Frontend Specialist. I hand over component slicing, React hooks, and CSS work to Gemini because its context window is massive, and it understands modern visual patterns incredibly well.
4.Gemini 3 Flash (The Janitor): The cleanup crew. Its job is minor refactoring, cleaning code, and removing redundant features. It's fast, cheap, and efficient.

WHY: Why Go Through All This Trouble?

Why not just code manually from start to finish? The answer is Cognitive Efficiency.

Our brains have a limited capacity ("battery") every day. If I spend my battery typing out the same CRUD boilerplate over and over, I run out of energy to think about the critical stuff: Security, Scalability, and User Experience.

Furthermore, this is how I learn. By observing how Claude structure a service layer or how Gemini organizes a component, I often discover new best practices I might have missed.

WHO: Who Is This For?

This is a strict warning: This method is not for beginners who are just learning "Hello World".

Vibe Coding is only effective if you are:

1.Fundamentally Sound: You must understand MVC, State Management, and API flow. If the AI gives you bad code (and it often does), you need to know exactly where it failed.
2.A Code Reviewer: Your role shifts from "Code Writer" to "Code Auditor".
3.Effiecency Seeker: You use AI to move faster, not because you lack the skill to do it yourself.

WHEN & WHERE: When Do I Use This Strategy?

I don't use AI 100% of the time. There are moments where the "Human Touch" is non-negotiable.

Yes (Use AI): When working on repetitive features (CRUD), variations of existing features (e.g., creating a Category feature after the Product feature), unit testing, and refactoring.
No (Don't Use AI): During project initiation (initial architecture setup), sensitive database migrations, library/dependency installations, or debugging specific, weird bugs. I handle these manually or control them strictly via the terminal.

HOW: The Workflow (The Kitchen Secret)

This is the exact 5-step workflow I run daily in Cursor/Antigravity.

1.The Blueprint (Human First) The Golden Rule: I never let AI write the first line of code. I will manually code one complete feature, for example, the User feature: - Backend: I manually structure the model, service, controller, and router. - Frontend: I manually build the component, layout, hooks, and fetcher. This is the Base Pattern. This is my way of telling the AI: "See this? Don't get creative. Follow my style".
2.Context Injection (Feeding the AI) When I need to build a new feature (e.g., Product), I open Antigravity. I explicitly select the files the User feature as the context reference. My prompt is usually: "Study the structure of the User feature. Now, we are going to build the Product feature using the exact same pattern".
3.The Planning Mode (The Pause) Before a single line of code is generated, I enter Planning Mode. The AI lists out exactly what it intends to do. - "I will create file product.service.go" - "I will add a route to main.go" Here, I act as the Reviewer. If it says it wants to modify main.go but I have a separate router file, I cut in: "Stop. Don't touch main.go. Register the routes in the appropiate router folder".
4.Execution (Let the Models Work) Once the plan is approved, execution begins. - Switch to Gemini 3 Pro to generate the UI/Frontend. - Switch to Claude Sonnet 4.5 to generate the Backend logic. - Switch to Gemini 3 Flash if just need to fix indentation or remove useless comments. Note on Migrations: If a migration is needed, I ask the AI to write the SQL/script, but I execute it. I never let the AI have write access to my database command line.
5.Manual Audit & E2E Testing After the AI says "Done", my job isn't finished. I read the code line by line. Does the variable naming make sense? Is the error handling correct? Finally, the Manual E2E Test. Open the app, click the buttons, check the databases. AI might say the code is correct, but the app might crash upon execution.

Conclusion

AI coding tools are like F1 cars. If you don't know how to drive (lack basic knowledge), you'll crash into the wall at the first turn. But if you are a skilled driver, this car will get you to the finish line faster than anyone else.

So, am I being replaced by AI? No. I feel like as Super Developer with a team of intelligent assistants (Claude & Gemini) ready to work 24/7, as long as I can provide the right instructions.

This method I implemented in my last side project, you can check in here Jurter