“Vibe coding isn’t magic. It’s a possessed keyboard in the hands of someone who knows what to do with it”
The term that divided everyone
When Andrej Karpathy — one of the most influential people in AI, an OpenAI co-founder, and Tesla’s former Director of AI — first used the phrase “vibe coding,” he could hardly have imagined it would become a meme, a marketing term, and fuel for flame wars in every dev chat on the planet — all at once.
The idea is simple: you tell the AI what you want, and it writes the code for you. You don’t read every line — you “catch the vibe,” check the result, and move on. Sounds like a dream. And it partly is.
But I’ve spent enough time with this approach to know that between the “I built an app in 10 minutes” promo videos and real production code lies a gap the size of the Grand Canyon.
My journey through all the tools
I’ve tried practically everything on the market right now: Cursor, OpenAI’s Codex, Antigravity, and a dozen smaller tools. The only thing I haven’t touched is Chinese models — as a matter of principle.
And after all the experiments, the winner, for me, is clear: Claude Code by Anthropic, running the Opus 4.6 model. This isn’t an ad — it’s the result of months of daily work. Opus understands project context, holds an architectural vision, and generates code that doesn’t make you wince when you read it. Other models are decent for isolated tasks, but when it comes to serious development, Claude Code is in a league of its own — for now.
“A derogatory term” or a new reality?
I recently watched Peter Steinberger’s interview on Lex Fridman’s podcast, and one moment really stuck with me. Peter — the author of OpenClaw, one of the craziest things in the world of vibe coding and AI agents today — called “vibe coding” a derogatory term. And he proposed an alternative: agentic engineering.
His explanation was brilliant in its simplicity: during the day, he does agentic engineering. But past 3 a.m. he might slip into vibe coding — and he usually regrets it the next morning.
He also noted that when people who can’t code at all send him their results, he calls them not pull requests but prompt requests.
And I couldn’t agree more. There’s a fundamental difference between an experienced engineer using AI as a powerful tool to speed up their work, and a person with zero technical background trying to “vibe code” a production app. The first is the evolution of a profession. The second is a ticking time bomb.
A possessed keyboard: my metaphor
Here’s how I describe vibe coding to myself: it’s a possessed, lightning-fast keyboard in your hands. It types orders of magnitude faster than you ever could. It can write in a night what used to take a week.
But if you don’t understand what exactly it’s typing, one day that keyboard will blow up in your face. And you’d better hope it happens in development — not in production, when a client is losing data or money.
Vibe coding without expertise is like handing a Ferrari to someone without a driver’s license. The first 200 meters are thrilling. Then comes the lamppost.
That’s why I still stand by this: to vibe code well, you need to be a specialist who understands the technology. AI speeds up the work — but it doesn’t replace an understanding of architecture, security, performance, and scaling. It doesn’t replace the experience that tells you “stop, something’s off here” before the code ever breaks.
Case #1: a WebSocket chat in two nights
Theory is nice, but let me show you how it plays out in practice. Kaplia Chat is a full-featured live chat built on WebSockets that I wrote in — literally — two nights and have already integrated into my client portal, clients.kaplia.pro.

Under the hood: a Node.js server, WebSocket connections, an admin panel built with React + Vite, Telegram integration, a REST API for external services, and a webhook system for automation via n8n. Self-hosted, with full control over the data.
Here’s what this chat can do:
- Spy Typing — the admin sees what the client is typing before they even hit send
- Real-time online statuses — who’s on the site right now and which page they’re viewing
- Activity Log — a full history of actions: connections, disconnections, tab switches, site navigation
- Spam protection — rate limiting and message length limits
- Message pagination — lazy loading for the admin panel and the widget
- 10 notification sounds — from Chime to Coin, each with an audio preview
- Multi-language — Ukrainian, English, Russian
- Mobile responsive — hamburger menu, swipe gestures for the sidebar
Two nights. Not two months. And this isn’t an MVP with two buttons — it’s a production-ready product with documentation, an API, and a full deployment behind Nginx with SSL.

Could I have written this without AI? Yes, I could — in two or three weeks. Vibe coding with Claude Code cut that time by an order of magnitude. But — and this is the key part — at every step, I understood what was happening. I set the architecture, I reviewed the code, I made the corrections. AI was the fast pair of hands. I was the architect.
Case #2: AI Talks — when agents talk to each other
Another example — this one more for fun, but no less telling. AI Talks (GitHub) is an app built in a single day where AI agents talk to each other autonomously.
You create agents: give each one a name and a personality, pick a voice via the ElevenLabs or OpenAI TTS API. Set a topic — and off they go. Realistic voices, animated avatars, emotions on their “faces.” You can jump in mid-conversation, interrupt them — and watch how they react. Sometimes it leads to situations so funny it’s hard to believe they’re being generated in real time.
Under the hood: a PHP backend as an API proxy, Alpine.js + Tailwind on the frontend, the Web Audio API for syncing lip animation to the audio, and support for three LLM providers (OpenAI, Anthropic Claude, Google Gemini) — each agent can run on a different model.
One day. A full-featured open-source app with a live demo and documentation. That’s what vibe coding can deliver when the person behind the keyboard understands what they’re doing.
Agentic engineering: what it looks like in practice
Back to Peter Steinberger’s term — agentic engineering. I like it far better than “vibe coding,” and here’s why.
“Vibe coding” suggests you just “catch the vibe” and everything somehow falls into place on its own. Reality is different. My workflow with Claude Code looks like this:
- I define the architecture — the project structure, the stack, the approach to organizing the code
- I formulate the tasks — clearly, with context, with constraints
- AI generates the code — fast, in volume, and often well
- I review every result — checking the logic, the security, the fit with the architecture
- I correct the course — making changes, refining prompts, sometimes rewriting by hand
That’s not “vibe.” That’s engineering work with an AI agent as the tool. You’re the CTO. AI is the fast pair of hands — not always right, and always in need of your oversight and expertise.
Why it’s dangerous without expertise
I see more and more people who have “vibe coded” themselves an app, pushed it to production, and sincerely believe everything works. Right up until the first serious incident.
AI doesn’t think about security the way an experienced developer does. It doesn’t always account for edge cases. It can generate a SQL injection vulnerability if you don’t know what to look for. It can produce an architecture that “works” with 100 users and falls over at 10,000.
Vibe coding without understanding is technical debt you can’t even see. And when the bill comes due — and it will — you won’t be able to fix it, because you won’t understand what exactly broke.
The new reality: what changed forever
Despite all the caveats, I’m no skeptic. Quite the opposite. Vibe coding — or, if you prefer, agentic engineering — is a new reality that has already changed my work forever. I can’t imagine going back to the days when every line of code had to be written by hand.
Here’s what changed, specifically:
Prototyping speed — an idea goes from concept to working prototype in hours, not weeks. Kaplia Chat in two nights, AI Talks in one day — that’s not an exception, that’s the new normal.
A lower barrier to experiments — there was never time for “what if we tried it this way?” Now you try it, take a look, and either keep it or delete it. The cost of an experiment has dropped to zero.
Focus on architecture — paradoxically, AI freed up my time for exactly what matters most: designing the architecture, making strategic decisions, reviewing and optimizing.
A learning effect — working with AI, I constantly see alternative approaches to solving problems. It’s like sitting next to a colleague who knows every programming language at once.
Summary
Vibe coding isn’t a fad that will pass. It’s a fundamental shift in how software gets made. But it’s a tool — not a substitute for thinking.
If you’re an experienced developer, vibe coding will make you many times more productive. You’ll build overnight what used to take weeks. You’ll experiment, tinker, spin up pet projects, and turn them into real products.
If you’re a beginner — learn the fundamentals first. Get a grip on architecture, security, algorithms. Then pick up AI as an accelerator. Not the other way around.
Because a possessed keyboard in the hands of a master is a superpower. And in the hands of someone who doesn’t understand what it’s typing, it’s a bomb that will go off sooner or later.
