The Vibe Coding Ratchet

A ratchet is a mechanism that only moves in one direction - it clicks forward but can't click backward.
When you're in flow with an AI coding assistant, each "ooh what if we also..." only adds scope, never removes it. You can't un-have the idea once you've had it and seen how easy it would be to implement.
I revisited the CryptoKitties hype, and thought it would be cool to generate an image of the connections between my kittens.
I ended up vibe coding and releasing an open-source interactive family tree visualizer for CryptoKitties.
The sequence:
- "Just generate an image"
- "Actually make it interactive" (click)
- "Add owner highlighting" (click)
- "Right-click context menu would be nice" (click)
- "Should work embedded too" (click)
- "Need a Python tool to fetch data" (click)
- ...40 commits later

Each step feels small and obvious in the moment. But the ratchet only goes one way - you never say "actually, let's remove the mewtation gems and simplify". The ease of implementation removes the natural friction that would normally stop scope creep.
It's not a complaint. It's what makes vibe coding fun. But it's why "generate an image" becomes "open source project with a README longer than most blog posts."
I'm now considering asking Claude Code to add 3D visualization, but Claude is resting (quota exhausted).