I had a Framer site. It worked. Looked fine. But I was renting space in someone else's system — one pricing update, one forced migration, one "we're sunsetting this feature" away from a headache. So I rebuilt from scratch with Claude Code. Traded Framer's corporate control for Anthropic's. Lateral move, maybe. But at least now I own the code.
The process
Grabbed a domain on Cloudflare, connected Vercel, had a working deployment in under 10 minutes. Then fed Claude Code a stack of visual references, wrote a brief, and started iterating. Five rounds to get something that didn't make me want to close the tab immediately. That's the bar. We cleared it.
One honest aside: I tried Claude Design, expected it to pull weight, and it didn't — a token-hungry demo toy, not ready for real work. Claude Code covered everything it promised and more, without burning the budget.
The skills that actually made it work
- Figma MCP — pulled design context and screenshots directly from my working Figma file. No manual export, no copy-paste. Claude read the design, I iterated on code.
- clone-website — extracted visual tokens (colors, spacing, type scale) from a visual reference. Gave Claude a real starting point instead of a blank canvas and vibes.
- interface-design — kept UI consistency across iterations without me micromanaging every component. A design-system enforcer running inside the terminal.
- impeccable — final polish pass. Caught the things you stop seeing after hour three of staring at the same layout. Spacing, hierarchy, the details that separate "fine" from "done right."
- huashu design — handled the craft layer. Typography rhythm, visual weight, composition. The difference between something that looks designed and something that just looks assembled.
The stack
Pure HTML + CSS + vanilla JS. No React, no build pipeline, no dependency hell six months from now. One index.html, one style.css, that's the whole site. D3.js for an interactive globe with a Bangkok marker. Auto-deploys from GitHub to Vercel on every push.
The goal was maximum control, minimum complexity. Boring tech on purpose.
Early version is live. Plenty left to fix and build out — but already more comfortable with it than anything I shipped on Framer. Which says something.
Tried vibe-coding something yourself? What's your current stack for personal projects?


