Vibe Coding
Describing what you want to an AI agent and letting it ship the whole thing — framework, code, build, deploy, domain. You direct the vibes; the agent ships the bytes. Coined by Karpathy in February 2025. Now a workflow people actually ship production apps with.
Plain definition
Vibe coding is software development where the human's primary input is intent — described in natural language — and an AI agent does the implementation. The agent picks the framework, writes the code, runs the build, fixes its own errors, and ships the result. The human steers by reacting: "this should look different", "add login", "the table feels cramped", "deploy it".
"There's a new kind of coding I call 'vibe coding,' where you fully give in to the vibes, embrace exponentials, and forget that the code even exists." — Andrej Karpathy, Feb 2025
The shift from earlier AI coding (Copilot autocomplete, Cursor's edit mode) is that the agent owns the implementation loop. You're not editing what it suggests — you're reacting to what it shipped.
What it's good for
- Greenfield projects. A new app, a tool, a landing page, a Telegram bot. No legacy constraints, no inherited weirdness. The agent picks reasonable defaults and ships.
- Prototyping ideas. Try ten product ideas in a week. Most won't work; one will. Vibe coding lowers the cost of "try it" to almost zero.
- Adding features to small codebases. The agent reads the whole repo, follows the existing patterns, ships consistent code.
- Coding when you're not at a desk. The phone, the couch, the bus. The agent doesn't care about your input device.
What it's bad for
- Hardening complex production systems. When a misread spec could cost a customer their data, the agent's confidence outruns its understanding.
- Performance / security work. Both require holding a lot of invariants in your head simultaneously. Agents are getting better here but aren't there yet.
- "I don't know what I want." Vibe coding rewards clarity of intent. If you can't describe it, the agent will ship something that doesn't fit.
The honest tool comparison
| Tool | Surface | Hosts the result? | Free tier? |
|---|---|---|---|
| Cursor | IDE (desktop) | No — you host | 14-day trial |
| Claude Code | CLI | No — you host | Pro subscription required |
| Lovable | Web UI | Yes (their infra) | Limited free credits |
| Bolt | Web UI (WebContainer) | Yes (their infra) | Limited free credits |
| Replit Agent | Web IDE | Yes (Replit infra) | Free with limits |
| VibeKit | iOS app + Telegram bot | Yes (Fargate) | Genuinely free (Qwen) |
VibeKit's niche: vibe coding on the surfaces you already have open — your phone, your Telegram chat — with the result hosted automatically and a genuinely free tier (not a trial). See vs Lovable, vs Bolt, vs Replit for specific comparisons.
How to actually start
- Pick a surface. Phone? Open @the_vibe_kit_bot in Telegram or grab the iOS app. Desktop? Cursor or Claude Code.
- Pick a model. Cheap or free for prototyping (VibeKit's Qwen tier = $0). Smart for hard problems (Claude Sonnet via BYOK on any platform).
- Describe what you want in one sentence. Not a spec — a vibe. "Telegram bot that takes a youtube link and replies with a summary." "Next.js app for tracking books I want to read."
- React to what the agent ships. The conversation IS the spec.
Common pitfalls
- Over-describing the first prompt. Don't list 20 features. Ship the core, then iterate. The agent is faster than your spec doc.
- Letting tech debt pile up. Vibe coding ships fast; that's the gift and the trap. Periodically ask the agent to refactor what it's built so far before adding more.
- Vibe-coding sensitive code. Auth, payments, key handling — these reward reading the actual code. Vibe-code the scaffolding; review what touches money or secrets.
- Skipping git. Every vibe-coded app should have a real GitHub repo. VibeKit auto-creates one; other tools you have to wire up. Without git history, vibes don't replay.
VibeKit
Enter App