Vibe coding is real. It’s not the future — it’s the present, and most non-engineer founders haven’t fully grasped that they can now ship real software without learning to write code from scratch. I’m not an engineer by training. I’ve spent 4 years deep in AI tooling and 10 years as an entrepreneur. Half of 500k.io’s interactive components were vibe-coded by me with Claude Code. The other half was written more carefully because the consequences of bugs were higher. The split is the lesson.
The agency context: I co-founded The Kreators AI with Jack — about $45M of client revenue ($10M Meta on my side). On the agency side we have engineering capacity. On 500k.io it’s me + Claude Code. That’s the difference between “agency-grade software” and “founder-grade software.” Both ship.
I’m at $9,500 MRR / $114K ARR / 22.8% to my $500K target. Vibe coding is one of the reasons the solo build is moving as fast as it is.
What is vibe coding, really?
Andrej Karpathy coined the term in February 2025. The original framing:
“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. It’s possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good.”
The mechanics: you describe what you want in plain English. The AI agent writes the code. You read enough to understand the shape but you don’t necessarily review every line. You run it. If it works, you ship. If it doesn’t, you describe what’s wrong and the agent fixes.
The “vibe” part is the surrender of line-by-line review. You’re guiding direction, not enforcing precision. For most non-mission-critical code, that’s enough.
What vibe coding is NOT
Three common misconceptions:
1. Not “no engineering knowledge required.”
You need to read code to spot when the AI is wrong. The AI produces working-looking code that’s broken about 10-20% of the time. If you can’t read it, you ship the broken 10-20%. Plan for 20-40 hours of programming fundamentals before vibe coding works.
2. Not “no testing required.”
Tests are how you know the AI’s confident-looking code actually works. Vibe coders who skip tests are setting up failure within 30 days. Tests are the seatbelt — even if you don’t understand the engine, wear the belt.
3. Not for everything.
Vibe coding is great for landing pages, internal tools, content sites, simple integrations, dashboards. It’s bad for anything where bugs cost money or trust: payments, auth, data layers, security-sensitive operations.
The 5-step vibe coding process
Step 1 — Describe in detail
The biggest amateur mistake is short prompts. “Build me a dashboard” gets you junk.
The pro prompt is 200-400 words: what the dashboard does, what data it shows, what user it serves, what visual style, what constraints, what success looks like.
Example pro prompt for vibe coding:
Build me a dashboard at /dashboard for 500k.io.
Purpose: show live MRR, newsletter subs, and AI tool spend in one view.
Data sources:
- MRR: Stripe API (read-only key in env)
- Subs: Beehiiv API (read-only key in env)
- AI spend: hardcoded $565/mo for now, will add Claude API later
Visual: simple, no animations. 3 large numbers stacked. Updated date below.
Stack: Astro 5 (already in repo), no new deps if avoidable. Server-side
fetch on build, daily rebuild via Cloudflare Pages cron.
Success: page loads under 200ms, shows real numbers, looks like the
rest of 500k.io.
Files allowed to edit:
- src/pages/dashboard.astro (new)
- src/utils/dashboard-data.ts (new)
- astro.config.mjs (add cron schedule)
Don't touch any other files.
That prompt is the entire job. Claude Code reads it, plans, writes, and ships in 8-15 minutes.
Step 2 — Read what it produces
Don’t blindly accept. Read the diff.
What to check:
- Does the file structure match what was asked?
- Are there suspicious imports (libraries you didn’t approve)?
- Does the logic look approximately right?
- Are there obvious red flags (hardcoded secrets, wide-open permissions)?
You don’t need to understand every line. You need to spot the 1-2 obvious problems. If everything looks clean, accept.
Step 3 — Run it
Tests first if available. If no tests, run the actual code. Open the dashboard. Does it load? Are the numbers right?
For my dashboard example, I’d open /dashboard and check: MRR matches Stripe, subs match Beehiiv, page loads fast.
Step 4 — Iterate via description
When something’s wrong, describe what’s wrong in natural language.
“The MRR number is showing $0 instead of $9,500. The Stripe API call is probably failing silently. Add error logging and fix the env variable handling.”
Claude Code investigates, finds the issue, fixes it. 5-10 minutes per iteration.
Keep iterating until it works. Most features take 2-4 iterations.
Step 5 — Ship and monitor
Commit. Deploy. Watch the page in production for 24-48 hours.
Vibe coding’s worst failures show up in production, not dev. A page that works for one user might fail for another due to edge cases the AI didn’t anticipate. Monitor (even simple console error logging) catches this.
What I’ve vibe-coded on 500k.io
The honest list:
| Feature | Vibe-coded? | Notes |
|---|---|---|
| Landing page hero animation | Yes | Pure visual, low risk |
| Newsletter signup form | Yes | Beehiiv handles the data side |
| Article TOC sidebar | Yes | Pure UI |
| Schema.org @graph generator | Yes | Heavily reviewed before merge |
| Dashboard with live numbers | Yes | Read-only data, low risk |
| Skills directory pagination | Yes | Pure UI |
| Stripe checkout flow | No | Money. Engineering review. |
| User auth flow | N/A | Don’t have one yet |
| Lead magnet delivery | Mostly | Critical part hand-coded |
Roughly 60% of the codebase is vibe-coded. 40% required more careful review. The split tracks risk: anything that touches money, auth, or user data went through deeper review.
The failure mode I see most often
Founders vibe-code their MVP, ship it, get 5-20 users. Within 60 days, something breaks weirdly: a form doesn’t submit, a calculation is wrong, a signup is silently lost.
The cause: AI-generated code that worked for the test cases the AI thought of but didn’t handle the edge case a real user hit.
The fix: tests. Even simple ones. Even tests you don’t fully understand.
When Claude Code generates a function, ask it to also generate tests. The tests are written in English-readable form (e.g., it('returns the user MRR for a valid Stripe customer')). You can read what’s being tested even without writing the test.
If a test is missing for a critical path, ask Claude to add it. Don’t ship without it.
What to learn before vibe coding works
The 20-40 hours of fundamentals to make vibe coding actually safe:
- Read JavaScript/TypeScript (or whatever your stack is). 8-10 hours of basic syntax + control flow + functions + async.
- Understand HTTP (request/response, status codes, headers). 2-4 hours.
- Know what env variables are and how they work. 1-2 hours.
- Understand databases at a 101 level (tables, queries, indexes). 4-8 hours.
- Know what tests do (assert + test runner). 2-4 hours.
- Read git basics (commit, branch, pull, push). 2 hours.
- One framework convention (Astro / Next / etc., enough to navigate the file structure). 4-6 hours.
That’s about 25-35 hours total. Less than a college course. After that, vibe coding goes from “scary” to “normal.”
When to NOT vibe code
Hard list:
- Payments (Stripe, PayPal, anything money). Real engineering review.
- Auth and session management. One bug here = data breach.
- Data deletion logic. One bug here = customer data loss.
- Security-sensitive operations (rate limiting, CORS, input validation on user data).
- Financial calculations (anything with $ in the variable name).
- Production database migrations.
- Anything that runs on more than your single machine in production.
For these, hire an engineer for a 30-min review. Or use a battle-tested service that handles it for you (Stripe, Auth0, Supabase Auth). Don’t vibe code the heart of the business.
Tools comparison
| Tool | Best for | Founder learning curve |
|---|---|---|
| Claude Code | Orchestration, content factory, multi-file work | Medium |
| Cursor | Inline edits, single-file work | Low |
| Windsurf | IDE with agent | Low-Medium |
| Bolt | Web app prototypes | Very low |
| v0 (Vercel) | UI components | Very low |
| Replit Agent | Full-stack from scratch | Low |
| Lovable | Web apps from prompts | Very low |
For solo founders who want to ship real product: Claude Code or Cursor.
For founders who just want to prototype something: Bolt or v0.
For founders who want a full app from one prompt: Replit Agent or Lovable (acknowledging the output won’t scale past prototype).
Internal links
- Claude Code: a $500K founder’s first 30 days — the on-ramp.
- The real Claude Code workflow (my day-to-day) — what shipped looks like.
- Claude Code vs Cursor in 2026 — picking the tool.
- The autonomous business: AI replacing every hire — what vibe coding enables.
- The AI content engine: from brief to published in 2 hours — the same pattern for content.
- The full 500k.io stack — what the vibe-coded pieces run on.
External sources
- Andrej Karpathy on vibe coding (X thread, Feb 2025) — original definition.
- Latent Space podcast — vibe coding episodes — operator interviews.
- Anthropic — Claude Code documentation — the tool reference.
- Replit Agent — public docs — alternative platform.
What to ship this weekend
Pick one small thing. A landing page. A dashboard. A form. Describe what it should do in 200+ words. Drop the prompt into Claude Code or Cursor. Read the output. Run it. Iterate twice. Ship.
Shipped wins. The vibe coding rabbit hole is finite. The output is real.
FAQ
What is vibe coding actually?
Vibe coding is the practice of building software by describing what you want in natural language to an AI agent, accepting most of its suggestions, and shipping. The 'vibe' part refers to the looser-than-engineer review style — you're not vetting every line, you're guiding the direction.
Is vibe coding real or just a meme?
Real. Andrej Karpathy coined the term in early 2025 and it has stuck because it describes something that's actually happening. Real founders are shipping real products this way. The meme is the eye-rolling about it.
Can a non-engineer ship production software with vibe coding?
Yes — within limits. You can ship landing pages, simple SaaS apps, internal tools, and content sites. You can't ship anything where bugs cause financial loss, security incidents, or data corruption — those still need engineering review.
What's the failure mode?
Code that works in dev and breaks in production. Vibe coders skip the test discipline. Without tests, your AI-generated code has no safety net. A 'works on my machine' app that fails for the third paying customer is the typical disaster.
What tools support vibe coding?
Claude Code, Cursor, Windsurf, Bolt, v0, Replit, Lovable. Each one targets a slightly different point on the spectrum from 'no terminal at all' to 'agent-orchestrated terminal.' Pick by your comfort level with code visibility.
Should I learn to code or just vibe code?
Both. Learn enough to read what the AI produces — that's 20-40 hours of fundamentals. You don't need to be able to write it from scratch. You need to be able to spot when it's wrong.