~/VibeHandbook
$39

Chapter 09 · 03

Step 2: Define Scope and Non-Goals

This is the most valuable and most skipped step. Non-goals — the things you are deliberately not building — protect you from an AI that loves to add "helpful" extras.

For our book tracker, scope might be:

  • In scope: add a book, mark it as reading/finished, see a list, rate finished books.
  • Out of scope (non-goals): social features, recommendations, importing from Goodreads, mobile app, user accounts.

Picture two columns: everything you to building on the left, everything you deliberately skip on the right. The line between them is the boundary that keeps v1 small.

┌───────────────────────┬───────────────────────┐
│       IN SCOPE        │       NON-GOALS       │
├───────────────────────┼───────────────────────┤
│  Add a book           │  Social features      │
│  Mark reading/done    │  Recommendations      │
│  See a list           │  Goodreads import     │
│  Rate finished books  │  Mobile app           │
│                       │  User accounts        │
└───────────────────────┴───────────────────────┘
   build now  ◀───────────────────▶  not now

Writing non-goals down does two jobs. It keeps your first version small enough to actually finish, and it gives you a sentence to paste when the AI drifts: "Remember, accounts are a non-goal for v1 — don't add login."

A non-goal isn't "never" — it's "not now." Listing user accounts as a non-goal doesn't mean your app will never have them. It means they're not part of this version, so you don't pay their cost today. This reframing matters: it lets you say no to a feature without feeling like you're abandoning a good idea. You're just sequencing. Most of the items in your non-goals list are really a v2 backlog in disguise, and that's fine — write them somewhere and move on.

Want it offline?

Get the PDF + EPUB + downloadable prompt library + version updates.

$ Get the PDF — $39