Craft Coding: Let AI Review, Not Write, Your Code
Peter Bloem's essay "AI coding without the vibes" cuts through the hype around AI-assisted development. The core argument: AI is good at doing or checking, but not both. The common practice—letting AI write code and then human-reviewing it—is a fiction. Our attention wanders, and the AI's failures become subtle. The alternative, which he calls craft coding, flips the roles: you write the code, and AI acts as your reviewer.
Why vibe-coding fails
Bloem explains the two stages of most work: doing and checking. If AI writes the code, you must check everything it produces. But humans are not built for that level of sustained scrutiny. Failure cases are rare enough that you start trusting the engine, and over time the codebase becomes an unmaintainable mess. Worse, it's a grindy, unfun experience. As he puts it, "Checking other people's code is a grind. Writing your own is fun."
The craft coding approach
Instead, write the code yourself and have the AI review it. This keeps you in control, maintains your skills, and still saves time—AI catches bugs that might take weeks to find the old-fashioned way. It also introduces you to better patterns and technologies you weren't aware of. Crucially, it preserves your ability to self-assess understanding, a skill that atrophies if you defer everything to the machine.
Why it works
- You stay engaged: The fun part—writing code—remains yours.
- AI catches what you miss: It reviews your work, picking up edge cases and style issues.
- You learn: The AI's suggestions teach you new tricks, but you implement them, so understanding is retained.
- You keep your judgment: You avoid the trap of believing you've mastered something when you've only delegated it.
This isn't just for students. Bloem warns that "cognitive skills are like muscles: hard to gain, easy to lose." Even experienced devs should avoid deferring all thinking to AI.
How to start
In practice, this means using AI as a pair programmer or code reviewer: have it look over your diff, suggest improvements, point out bugs. You stay the author; the AI is your second pair of eyes. This method also aligns incentives—you're not taking shortcuts, you're enhancing your own work.
Bloem's essay is a timely counterpoint to the "vibe-coding" trend. It's a practical guide for anyone who wants to use AI without losing the skill that makes them a developer.
📖 Read the full source: HN LLM Tools
👀 See Also

OpenClaw Resource List Compiled from Community Sources
A GitHub repository collects practical OpenClaw resources covering setup, configuration, memory systems, security, skills, model compatibility, and community links to help developers avoid common information gaps.

Troubleshooting OpenClaw: A Minimalist Reset Method
A Reddit user shares a five-step method to fix unstable OpenClaw setups by removing all skills, switching to Claude Sonnet, clearing sessions, simplifying SOUL.md, and testing with basic commands.

OpenClaw 5.28: Codex Plugin Broken After Upgrade — Fix with Symlink Shim
OpenClaw 5.28 breaks Codex plugin due to binary path mismatch. Fix: create symlink from expected path to actual bin/codex.

DeepSeek-V4-Flash W4A16+FP8 with MTP Self-Speculation: 85 tok/s on 2x RTX PRO 6000 Max-Q
DeepSeek-V4-Flash quantized to W4A16+FP8 achieves 85.52 tok/s at 524k context on 2× RTX PRO 6000 Max-Q using a patched vLLM with retrofitted MTP head, up from 52.85 tok/s baseline.