Kieran Klaassen, General Manager of Cora (Every's email product), argues that generative AI has made us "sloppy" by making us forget how to plan. Initial vibe coding ("Make this feature work") quickly generates code but often leads to 3 hours of debugging that a 10-minute planning session would have avoided, while starting from scratch on each feature instead of the AI improving with every request.

Planning vs Vibe Coding

The contrast is striking. Vibe coding: "Add email validation to the signup form" → hoping the AI takes the right path. Planning with AI: "Research how we handle validation elsewhere in codebase, check if our email library has built-in validation, look up best practices for user-friendly error messages, then create a plan showing three approaches with tradeoffs." One approach ships a feature. The other ships a feature AND teaches the system how you think for next time.

The Three Fidelities Framework

Klaassen proposes a framework for categorizing engineering work:

- Fidelity One (Quick fix): one-line changes, typos, obvious bugs. Lightweight planning suffices. With Claude Sonnet 4.5, this category expands: cross-codebase pricing changes, email normalization, code reorganization, dependency migration - multi-hour work turned into 10 minutes with a well-constructed plan.

- Fidelity Two (Sweet spot): multi-file features, refactoring required, clear scope but non-obvious implementation. This is where compounding engineering shines. Example: adding an "archive by query" capability for Cora. Rather than a direct prompt, the research phase reveals an existing reusable tool and strict Gmail API quotas. 20 minutes of understanding saved hours of debugging production failures.

- Fidelity Three (Big uncertain): major features with epic requirements, vague scope. Planning alone is insufficient. Requires "vibe planning" = disposable rapid prototyping to clarify, then rigorous planning to build properly. The email bankruptcy feature (53,000 emails) seemed like Fidelity Two, became Fidelity Three once the complexity of rate limiting, caching, and queue systems was discovered. Solution: 3 prototypes of ascending difficulty → learn what works → break into sequential Fidelity Two pieces.

Concrete Case: Email Bankruptcy

Klaassen had 5 Figma screen designs and a weekend. Instead of coding manually, he created two agents: Agent 1 analyzes a Figma screenshot → outputs a detailed plan grounded in patterns/components. Agent 2 compares Figma vs built (Puppeteer screenshots) → iterates until match. Result: 5 pixel-perfect screens, including mobile layouts that were never designed, in one weekend. The plan guided the work, pixel perfection emerged.

Compounding Knowledge

The real power: every plan review accumulates institutional knowledge. Code teaches "Here's how to solve THIS problem." Plans teach "Here's how to THINK about problems like this." After 50+ plan reviews, returned plans automatically reflect architectural preferences (e.g., View Components by default for the design system). Next models (GPT-5, Claude Sonnet 4.5+) will automatically improve plans, but institutional knowledge compounds separately.

Fastest Way to Teach

Klaassen concludes: planning is the highest-leverage activity in AI-assisted development. One hour invested improving the planning system makes every future hour more productive. The fastest way to teach AI is not through code you write, but through plans you review.