# klaassen-stop-coding-start-planning-every-2025-11-06

## Veille

Planning vs Vibe Coding - Compounding Engineering - Three Fidelities - AI Agents - Cora Email Bankruptcy - Plans Teach Systems - Every Source Code

## Titre Article

Stop Coding and Start Planning

## Date

2025-11-06

## URL

https://every.to/source-code/stop-coding-and-start-planning

## Keywords

planning, vibe coding, compounding engineering, AI agents, three fidelities, Cora, email bankruptcy, Figma to code, planning agents, institutional knowledge, Claude Code, research phase, prototyping, vibe planning, View Components, GitHub plans, Puppeteer review, teaching AI systems, SDLC, software lifecycle, agentic SDLC

## Authors

Kieran Klaassen (General Manager, Cora)

## Ton

**Profile:** Practitioner tutorial | First-person practitioner | Educational-narrative | Expert-accessible

Klaassen (GM of Cora) adopts the voice of an experienced practitioner sharing hard-won lessons from building an email product. The narrative tutorial structure (problem → insight → solution → example) illustrates storytelling-based pedagogy. Practitioner engineering language (rate limiting, cache layer, queue system, race conditions), grounded in the concrete example of Cora's email bankruptcy, builds credibility. The honest and reflective tone, admitting his own mistakes ("I did it, too") before prescribing solutions, builds trust. Personal anecdotes (5 Figma screens, a weekend deadline, discarded prototypes) humanize the technical concepts. The focus on systemic thinking ("teaching the AI how you think") rather than tactical execution reflects a senior engineer's perspective. Typical of Every.to's Source Code columnists (Dan Shipper, Nathan Baschez) combining practical tutorials and strategic frameworks for an audience of builders seeking durable AI workflows beyond the hype.

## Pense-betes

- **Central thesis**: "AI made us sloppy because it made us forget how to plan"
- **Vibe coding**: "Make this feature work" → hoping the AI takes the right path → 3h of debugging vs 10 min of planning
- **Planning with AI**: research the codebase, check the library, consult best practices, create a plan with 3 approaches + tradeoffs
- **Plans teach systems, code solves problems**: plans = institutional knowledge, code = one-off solution
- **Compounding engineering**: each unit of work makes the next one easier by teaching the AI
- **The Three Fidelities framework**:
- **Fidelity One (quick fix)**: one-line change, typo, obvious bug. Lightweight planning. Claude Sonnet 4.5 expands this scope (pricing changes, email normalization, test fixes)
- **Fidelity Two (sweet spot)**: multi-file, refactoring, clear scope, non-obvious implementation. Massive ROI from planning. Example: query-based archiving tool
- **Fidelity Three (big and uncertain)**: major features, vague scope, uncertain requirements. Vibe planning = rapid prototyping + rigorous planning. Example: email bankruptcy, 53,000 emails
- **Cora email bankruptcy case**: 5 Figma screens → pixel-perfect in one weekend with planning agents
- **Two-agent workflow**: Agent 1 (Figma analysis → plan), Agent 2 (Puppeteer comparison → iterate until match)
- **Knowledge accumulation**: 50+ plan reviews → the system learns preferences and architectural thinking
- **Critical research phase**: query-based archiving revealed an existing search tool and Gmail API quotas
- **Vibe planning**: disposable prototypes to clarify requirements before actual implementation
- **Breaking down Fidelity Three**: prototype 3 solutions (real-time, simple cache, queue) → learn → break into Fidelity Two pieces
- **View Components preference**: codified in agent instructions → automatic for all future designs
- **Plans persist, prototypes are discarded**: knowledge is extracted then the prototype is abandoned
- **Next models benefit automatically**: GPT-5/Claude improve plans, but institutional knowledge accumulates separately

## RésuméDe400mots

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.

## GrapheDeConnaissance

- Kieran Klaassen —dirige→ Cora (ORGANISATION, 0.98)
- Kieran Klaassen —travaille_chez→ Every (ORGANISATION, 0.98)
- Kieran Klaassen —recommande→ planification avec IA (METHODOLOGIE, 0.97)
- vibe coding —s_oppose_à→ planification avec IA (METHODOLOGIE, 0.95)
- Compound Engineering —est_basé_sur→ plans enseignant le système (CONCEPT, 0.95)
- Three Fidelities —s_applique_à→ travail d'engineering (CONCEPT, 0.93)
- Fidelity Two —améliore→ Compound Engineering (METHODOLOGIE, 0.88)
- Fidelity Three —utilise→ vibe planning (METHODOLOGIE, 0.9)
- agent de planification Figma —utilise→ Puppeteer (TECHNOLOGIE, 0.92)
- Claude Code —améliore→ planification Fidelity One (CONCEPT, 0.9)
- Cora —a_créé→ email bankruptcy feature (CONCEPT, 0.97)
- Gmail API —s_applique_à→ opérations bulk (CONCEPT, 0.93)
- plans —permet→ connaissance institutionnelle (CONCEPT, 0.92)

---
Canonical: https://www.thekb.eu/en/fiches/klaassen-stop-coding-start-planning-every-2025-11-06/
