1. What is Vibecoding?
MODULE 1

What is Vibecoding?


1.1: The One-Sentence Explanation

Vibecoding is using AI as a pair programmer to build software faster, while you stay in the driver's seat for every important decision.

You provide the vision, constraints, and context. AI provides the implementation speed. Together, you ship 10x faster than either could alone.

1.2: How This Differs from Traditional Coding

Traditional CodingVibecoding
Starting pointJump into codePlan first: idea, research, requirements
Writing codeWrite every line yourselfDescribe what you want, review what AI produces
DebuggingRead stack traces for hoursPaste the error log, get a fix in seconds
Getting stuckGoogle for 45 minutesAsk AI to research docs and explain
ArchitectureYou decide (slowly)You decide (quickly, with AI helping explore options)
TestingOften skippedAI writes tests alongside implementation
The 80/20 split

AI handles roughly 80% of the work: boilerplate, patterns, translations, repetitive code. You handle the 20% that actually matters: architecture, security, business logic, and context.

1.3: The Genie Mindset

Think of AI as a genie. It will build anything you ask -- but only if you ask correctly.

This means:

  • Precise wishes get precise results. Vague prompts get generic code.
  • You are the architect. AI is the builder following your blueprints.
  • Context is everything. The more AI knows about your project, the better it performs.

A bad wish: "Add authentication."

A good wish: "Add email/password auth using NextAuth.js. Use the existing User model in schema.prisma. Follow the pattern in AuthService.ts. Rate limit to 5 attempts per minute."

1.4: What AI is Great At

Let AI handle these -- it's faster and usually correct:

  • Boilerplate code -- repetitive, pattern-based stuff
  • Type definitions -- mechanical translation
  • Unit tests -- pattern matching on existing code
  • Refactoring -- systematic transformations
  • Documentation -- summarizing code intent
  • Error messages -- parsing and explaining stack traces
  • Regex, SQL, CSS -- tedious but deterministic

1.5: What You Must Control

Never fully delegate these -- they require judgment AI doesn't have:

  • Architecture decisions -- long-term implications
  • Security-critical code -- too important to trust blindly
  • Business logic -- domain knowledge required
  • Performance optimization -- requires measurement, not guessing
  • Database schema design -- needs understanding of access patterns
  • Code review -- always read what AI generates
The trust spectrum

High trust (let AI do it): boilerplate, tests, types, docs. Low trust (you do it): architecture, security, business logic, deployment. Everything else: collaborate.

1.6: When to Type Instead

Sometimes writing code manually is faster than explaining it to AI:

  • Tiny changes -- rename a variable, fix a typo
  • Domain-specific logic -- only you understand the business rules
  • Flow state -- don't break your rhythm for a one-liner

The goal isn't to use AI for everything. The goal is to use it for the right things so you can focus your energy on what matters: building great products.

🧠
Module Checkpoint
Test your understanding -- try to answer from memory before looking
What percentage of work does AI typically handle in vibecoding?

Which task should you NOT fully delegate to AI?

What makes a 'good wish' to the AI genie?

When should you write code manually instead of asking AI?