What is vibe coding? A 2026 field guide.
Vibe coding started as a half-joke and became a category. In 2026 it covers everything from Lovable to Bolt.new to Moonshift. Here's what the term actually means, where the category split, and which shape of vibe-coding tool fits which job.
Vibe coding is the practice of typing what you want in plain language and accepting whatever the AI builds for you. No specifications, no story points, no PR review. The vibe of an idea goes in. A working thing comes out. The term escaped the dev-Twitter petri dish in early 2025 and by 2026 it labels an entire product category that did not exist three years ago.
The label sounds glib. The job it points at is not. For the first time in software, the bottleneck for shipping a small product is no longer typing the code. It is everything else: the deployment, the database, the auth scaffold, the landing copy, the launch tweet, the nerve to press publish. Vibe-coding tools take a swing at compressing that wider chore pile. The successful ones do not just type code for you. They handle the things you forget you have to do.
Where the term came from
Andrej Karpathy popularised the phrase in a February 2025 tweet: “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.” He was describing a personal workflow with Cursor and Sonnet. By the time builder tools shipped autonomous agents (Lovable Plan Mode, Bolt v2, Replit Agent 3, Cursor 2.0), the term had jumped lanes. It now describes any flow where the human writes intent in English and the machine produces the working artifact.
The bottleneck for shipping a product is no longer typing the code. It is everything between the prompt and the launch tweet.
The five shapes of vibe-coding tool
The category looks like one thing from the outside. Inside it is at least five different product shapes, each tuned for a different bottleneck.
- Component generators (v0): paste a prompt, get a polished React + shadcn + Tailwind component you can drop into an existing app. Best for filling in a screen you already half built.
- In-browser dev environments (Bolt.new): WebContainer runs your build entirely in the browser tab. Zero local setup. The trade-off is a sandbox ceiling on native modules and long-running tasks.
- Cloud workspaces (Lovable, Replit, Base44): IDE, database, auth, hosting, deploy all in one vendor. Cohesive flow. The price is portability: leaving means rewriting plumbing.
- Editor agents (Cursor, Claude Code): AI inside your existing IDE, editing your existing repo. Best-in-class for iterative engineering. Does not help when there is no repo yet.
- Native pipelines (Moonshift): prompt produces a deployed Next.js app on your own Vercel + GitHub + Turso, plus a launch kit (X thread, LinkedIn post, hero image) drafted in your voice. The launch is treated as a build artifact.
Picking the right shape is the hardest part. Operators routinely try the wrong one for their job, churn for a month, and conclude that vibe coding does not work. Usually the problem was the shape, not the category.
What vibe coding still does badly
Three honest weaknesses, May 2026:
- Mature codebases. Once you have 30,000 lines, vibe coding tilts back toward editor agents (Cursor, Claude Code). Whole-app generators get worse the more context they have to respect.
- Specifications nobody wrote down. The agent guesses what you meant. Bad guesses cost iteration credits. Tools that surface intent up front (Plan Mode, Clarify) win here; tools that just dive in produce more rework.
- Sensitive data. Lovable shipped 170+ apps with misconfigured Supabase Row-Level Security in mid-2025 (CVE-2025-48757). A pipeline with a real auditor agent catches this; a generator without one does not.
The arithmetic that actually matters
Builder tools sell themselves on speed. The number that matters more is what falls out the other end. Take the same prompt to v0, Lovable, Bolt.new, Replit, Base44, and Moonshift and you will get six different artifacts. v0 gives you a polished component. Lovable gives you a Vite + Supabase prototype hosted in their cloud. Bolt gives you a WebContainer-bound demo. Replit gives you an app at replit.app. Base44 gives you a Wix-runtime build. Moonshift gives you a deployed Next.js app on your Vercel with your GitHub repo, a real Turso database under your account, and a drafted X thread + LinkedIn post ready for human approval.
Each one of those outputs is a real product. They are not interchangeable. The vibe-coding question is which output gets you to the first paying user the fastest. The honest answer is that it depends on whether your bottleneck is the build (use v0, Bolt, or Lovable), the iteration (use Cursor or Claude Code), or the launch (use Moonshift).
Speed without portability is just lock-in dressed in flow.
Why Moonshift sits where it does
Moonshift is built for the founder who has fifteen unfinished side projects and zero launches. Every artefact the pipeline produces lands on infrastructure the founder already controls: Vercel, GitHub, Turso. The marketer agent drafts the X thread. The image-gen agent renders three hero card sizes. The publisher agent stages the posts behind a HITL approval gate so nothing posts without sign-off. The whole run has a per-run moon ceiling enforced between phases, so the runaway-agent class of cost incident (a documented $6,000 overnight Claude Code bill, Cursor frontier-model burn, Lovable credit slot-machine complaints) does not exist by design.
If your job is to ship the next idea by Friday, type it. The vibe of the idea goes in. A launched product comes out. That is the bet behind a tighter, weirder corner of the category called vibe shipping.