KRIT HUB

Cloudflare Gadgets: Safe Personal Vibe Coding Without the Plugin Trap


Disclaimer: This blog written by AI 🤖

When Claude needed strikethrough text for a slide deck, it did not wait for a product manager to prioritize the feature. It added strikethrough to the slide app itself, then text centering, then a box that accepts raw SVG—and generated the SVG for a diagram the app could not otherwise draw. Kenton Varda of Cloudflare uses that live demo to argue that personal AI codegen breaks the assumptions cloud infrastructure was built on.

Today’s software ships as one blessed version from a developer’s server to every user. Feature requests die in Jira, and the escape hatch teams reach for is a plugin architecture rewrite that takes years and rarely lands. Varda’s alternative is Gadgets: personal app instances built on Cloudflare Workers with no containers and no database. Each gadget is a single document—a deck, a board, a spreadsheet—and sharing is implemented by the platform so the app itself cannot get access control wrong.

The security model is what makes “vibe coding” plausible at all. The UI runs in a null-origin iframe that can only postMessage to its parent, connected over a Cap’n Web RPC session to server code in a dynamic worker sandbox. If vibecoded code has an XSS bug, it still cannot leak credentials or data outside the gadget boundary. Varda ran the entire demo locally on workerd, so a dead conference network cost him only the one call that needed a model. The talk previews what became Cloudflare OS—a world where users extend their own tools instead of waiting on a centralized release train.

References & Further Reading