Vibe coding with Claude Code: how I build projects in 2026
Vibe coding. Sounds like something an influencer made up on TikTok. But it's the most accurate description of how I actually program these days.
What is it, really?
Vibe coding = you describe what you want and the AI writes how to do it. I'm not saying I don't program — I'm saying I program at a different level of abstraction. Instead of writing syntax, I think about architecture, UX, and business logic.
It's like the difference between writing assembly and TypeScript. You're still programming, you're just moving up a level.
My stack
- Claude Code — main tool, runs in the terminal, works directly with the repo
- Next.js 15 — framework, App Router, Server Components
- Cursor — editor with AI integration (but I do most of it in the terminal)
- Docker — local development and deploy
- Vercel — hosting and preview deploys
Real workflow: how this site came about
I sat down with a clear vision: I want a Czech AI portal. Dark hero with particle animation, light content, MDX articles, tool reviews. Here's how it went:
Step 1: Scaffold (5 minutes)
> claude "create a Next.js 15 project with TypeScript strict,
Tailwind v4, App Router. Add MDX support via
next-mdx-remote v6. Structure: blog, nastroje, projekty,
o-mne. Geist font. Docker support."
Claude Code created the whole structure — app/ router, components, types, MDX parser, Dockerfile. Not generic boilerplate, but thought-through architecture.
Step 2: Design iteration (30 minutes)
This is where the "vibe" part starts. I was saying things like:
- "I want the hero with a particle animation, the text assembled from dots in the colors of the Czech flag"
- "let's switch to a light skin"
- "replace the white in the flag with light gray"
- "the headline should be bigger, more dots"
Each instruction → Claude updated the code → I refreshed the browser → next instruction. No jumping between Stack Overflow, docs, and IDE. Just a conversation.
Step 3: Content (ongoing)
I write the articles myself, but Claude helps with:
- Structure (headings, flow of the text)
- Code examples (verifies syntax)
- SEO meta descriptions
- Tone consistency
Step 4: Deploy (2 minutes)
> claude "add a Dockerfile with a multi-stage build for production"
Done. docker build && docker run. Works.
What works great
Iteration speed. From idea to working code, it's minutes, not hours. That fundamentally changes how you think about projects — you try more things, experiment more, because the cost of experimenting is low.
Context awareness. Claude Code reads your repository. When you say "add a new page," it knows the structure, your components, your naming. You don't have to explain.
Refactoring without pain. "Move this logic into a custom hook" → done. "Split this component into three smaller ones" → done. Things you'd normally put off because they're tedious.
What doesn't work (yet)
Complex business logic. With payment systems or auth flows, you want to know exactly what's going on. That's where vibe coding ends and classical programming begins — with Claude as a consultant, not a pilot.
Pixel-perfect design. Claude writes Tailwind classes, but final tuning (spacing, colors, animations) you still do yourself. AI doesn't have your aesthetic sense.
Edge-case debugging. For 80% of bugs, Claude is great. For the remaining 20%, you need your own head — and Claude as a rubber duck.
Why it's not cheating
I sometimes hear: "That's not programming, that's just prompting." To which I say:
- You still have to know what you want — and that's the hard part
- You still have to understand the code Claude writes
- You still have to know how to debug when something isn't working
- Architectural decisions are made by a human, not AI
Vibe coding is evolution, not a replacement. Just like IDEs weren't a replacement for text editors — they were a tool that let you think at a higher level.
How to get started
- Install Claude Code (
npm install -g @anthropic-ai/claude-code) - Open a terminal in your project
- Type
claudeand say what you want - Iterate
You don't have to start by building whole projects. Try: "refactor this function" or "write tests for this module." You'll find your vibe gradually.