$ cat blog/i-finally-shipped-a-side-project-by-vibe-coding-it.md
I finally shipped a side project by vibe-coding it
I finally shipped a side project. Vibe-coding made the difference.
You know that graveyard of side projects in your head? Ideas you’ll “get to eventually” but never do because life, work, energy?
I had one of those: a Chrome extension for Twitch. Small scope, clear purpose. Still sat in my head for months.
Then I tried something different. I vibe-coded the whole thing with Claude Code. Not a single line of code touched by hand—not as a gimmick, but as a challenge. Turns out, it wasn’t even necessary to intervene.
Here’s what surprised me:
It kept working. That’s what surprised me most. Feature after feature, iteration after iteration—I kept waiting for the moment vibe-coding would fall apart. Expected more and more “no, not that way” corrections. They never came. The codebase stayed clean, the tests stayed green. Way above my usual side-project standards.
I stayed in the flow. Instead of context-switching between “what should this do” and “how do I implement this,” I just… directed. Architecture decisions, product choices, priorities. Not syntax.
Devs aren’t out of a job. Let me be clear: without strong technical direction, this would have gone sideways fast. You still need to understand what’s happening under the hood. You’re the architect, not the passenger.
Maintainability still matters. Testing, clean architecture, good structure—I had to drive all of that from the start. Vibe-coding doesn’t give you a free pass. If anything, it makes discipline more important. And maybe that’s exactly why the experiment worked: building maintainability in early kept the chaos away.
Playwright MCP was a game-changer. Claude could test and debug the extension itself. That feedback loop changed everything.
The unexpected wins. Store descriptions, privacy policy, image assets, even a promo video (scripted Playwright screenshots + screen recording). Tasks I would have postponed forever—done in minutes.
The extension shipped. It’s in the Chrome Web Store: https://lnkd.in/eSepPq8t. Code’s here: https://lnkd.in/eY66Zm6r
And the real takeaway? I stayed in flow, thinking at the product level, iterating fast on something that would have otherwise died in my head.
Is this the end of abandoned side projects? Maybe not for everyone. But for me, something shifted.
I’ll probably stream my next vibe-coding experiment on Twitch. Stay tuned!
What are your tips for vibe-coding side projects?
