I had a Lovable subscription. It's $25/month. It does what it says on the tin — you describe a site, it generates one. Hosted, deployed, easy. For most people, it's a perfectly reasonable answer.
I cancelled it last weekend. Built this site you're reading instead. Took about four hours of focused work, spread across two evenings. Costs me $0/month to keep running. The full source is in a public GitHub repo. You can fork it, copy it, study it, ignore it.
This guide is the build log. The stack, the cost, the actual hours, what Claude Code did vs what I did, and what I'd change if I started over. If you're paying for a no-code site builder right now and you're at all curious whether you could do this yourself — read on. The answer is probably yes, and it's probably less work than you think.
Four hours. $0/month. Open source. Same toolchain professional studios use.
The honest definition of "4 hours"
Active focused build time was about four hours. Wall-clock elapsed time was a weekend. The reason for the gap is important and worth explaining: I was running Claude Code inside one project while doing other work in other terminals — RMG client work, Specimens Show edits, replying to messages. I'd spin up a session, give Claude a task, and tab out for fifteen minutes while it worked.
So when I say "four hours," I mean: if you sat down with the same toolchain and didn't tab out, you could plausibly ship a comparable site in a single afternoon. It is not "I cleared my calendar for a weekend." It is "I let the AI do most of the typing in the background." Different thing.
The full stack (with the boring stuff included)
Tech press loves to make stack reveals sound complicated. They are not complicated. Here is everything that powers this site.
The site itself
- Astro — the framework that builds the HTML pages. Open source. Free. Static-first, which means it generates plain HTML files that load instantly. If you've heard of Next.js, Astro is its quieter cousin who doesn't make you fight a build system.
- Tailwind CSS
— for styling. Utility-first, which means you write classes like
bg-paper text-inkinstead of CSS files. Fast to write, easy to read, hard to break. Free. - GSAP + Lenis — animation and smooth scroll. The bits that make the page feel alive instead of like a 2014 WordPress template. Both free for personal projects.
- Type: Anton (the big sans), Fraunces (the editorial serif), Inter Tight (body), JetBrains Mono (the labels). All from Google Fonts. All free.
The hosting
- Cloudflare Pages — where the site lives. Connects to my GitHub repo. Every time I push code, it builds and deploys automatically. Free tier is genuinely generous (unlimited bandwidth, 500 deploys/month). You don't need to upgrade unless you're running an actual app at scale.
- Cloudflare Pages Functions — runs the form backend (the "Get the letter" button). Same Cloudflare account. Same free tier. The function takes the email, sends it to Beehiiv, returns a confirmation. Fewer than 100 lines of code.
The newsletter
- Beehiiv — where signup emails land. Free up to 2,500 subscribers, which is plenty for the first year of a new newsletter. The form on the site posts to a Beehiiv API, and the email lands in the subscriber list automatically.
The domain
- Namecheap
registered
buildquietwinloud.comfor $13/year. Then I moved the nameservers to Cloudflare so Cloudflare Pages can serve the apex domain natively. Both companies charge $0 for the DNS hosting itself.
The build environment
- Claude Code — what I actually built the site in. Wrote the components, wrote the form backend, set up the deployment, debugged the dark-mode bug I shipped on accident. I described, it typed. We iterated. $200/month plan because I use it for everything else too. If this site were the only thing it did, the $20/month tier would have been enough.
The actual cost, monthly and yearly
- Domain: $13 / year (~$1.10 / month)
- Cloudflare Pages: $0 / month (free tier)
- Beehiiv: $0 / month (free until 2.5K subs)
- Astro / Tailwind / GSAP / Lenis / fonts: $0 / month (open source)
- Claude Code: $0 incremental — I'd be paying for it anyway. Allocate honestly: ~$5 of one month's subscription went into this site.
Total ongoing cost: about $1.10/month of domain renewal, amortized.
For comparison, my old Lovable subscription was $25/month. Annual savings: $25 × 12 = $300. Not life-changing money. But the bigger win is what I got in addition to the savings — full code ownership, no vendor lock-in, the ability to do anything Astro can do (which is a lot), and a public repo I can point at as proof.
What Claude Code did vs what I did
Honest split, by approximate hours:
What I actually did myself
- Decided what the site should say. All the copy was my voice and my opinions, even when Claude wrote the first draft. I edited, rewrote, killed the parts that sounded AI-flavored.
- Made the brand decisions. Color palette, type pairing, "what should the hero actually look like" — I chose between options Claude generated, I didn't let Claude pick.
- Reviewed every meaningful change. Claude proposes, I approve. Especially for anything irreversible (deleting files, deploying, sending data anywhere).
- Caught the bugs Claude shipped. Including one where I locked the site to dark mode but left "dark variant" classes on every component, which made the hero text invisible if your OS was in dark mode. Took me ten minutes to spot. Took Claude two minutes to fix.
What Claude Code did
- All the actual typing. Component code, animation logic, form handler, build configuration, deployment scripts.
- The boring research. "What's the right way to do X in Astro 6?" Claude searched, read the docs, came back with the answer. I didn't open Stack Overflow once.
- The deployment dance. Cloudflare API calls, GitHub repo creation, secret management, custom domain setup. All of it. I supplied credentials when needed; Claude did the orchestration.
- Iteration. "Make the hero bigger." "No, too big." "Try cyan instead of orange." "Try amber." We went through eight color palettes in fifteen minutes. That kind of speed is the whole point.
The pattern: I'm the operator. Claude is the implementer. I make the calls; Claude does the typing. If you've ever managed a junior developer, the workflow will feel familiar — the difference is the junior never gets tired and never charges overtime.
What I'd do differently if I started over
Lock the palette before building components
I rebuilt the color tokens four times because I kept second-guessing the accent color. Mustard, then pure black/white, then cobalt, then lime, then pink, then red, then finally cyan. Every swap meant Claude had to update tokens across multiple files. If I'd locked the palette first and built second, I'd have saved an hour.
Test in dark OS mode early
The bug where my hero text went invisible on dark-mode operating systems was entirely caused by
leaving Tailwind dark: variants in components after I'd already locked the site to a
dark palette. Caught it only when Chris (me) screenshotted the broken site. Lesson: if you're locking
a single theme, strip the dark-mode class variants. (Yes, I'm writing this guide in third person at
myself. It happens.)
Don't drive Cloudflare's dashboard via browser automation
Cloudflare's web dashboard has bot detection that defeats Chrome automation tools. We tried to drive the deploy flow via Claude-controlled Chrome and the dashboard never finished loading. The fix: use Wrangler (Cloudflare's CLI) directly. Five minutes of OAuth, then the entire deploy + secrets + custom domain flow runs from the terminal. Don't bother with the browser path if you have CLI access.
If you want to build the same thing
The repo is public: github.com/buildquietwinloud/buildquietwinloud-site. Fork it. Strip my copy. Replace the brand. Deploy your own.
The path looks like this:
- Install Node.js if you don't have it.
- Install Claude Code.
- Clone the repo. Open it in Claude Code. Tell Claude what brand you want and let it walk you through the rebrand.
- Sign up for Beehiiv (free) and grab your API key + publication ID.
- Sign up for Cloudflare (free) and tell Claude to deploy.
- Buy a domain at the registrar of your choice. Tell Claude to wire it up.
If you get stuck, the next guide in this series will be a more technical walkthrough — but honestly, the meta-trick is to just open Claude Code and ask it to walk you through each step. That's how I did it. There's no reason you can't.
The why behind the cheat code
People sometimes ask me why I bother having Claude Code do the typing instead of typing it myself. The honest answer: I have six concurrent projects, a partner I want to spend time with, a country I'm planning to move to later this year, and one life. AI doing the typing is the difference between me shipping the work I want to ship and me drowning in the work nobody asked me to do.
Someone described the current era to me as "everyone's growing arms." Two arms is normal — you do your job, you go home. Ten arms is the same brain doing the work of a team. The gap between two arms and ten arms isn't a 2x salary difference. It's the difference between earning $80K and earning $1M for the same year of work. Same person, same brain, just more arms.
I'm choosing as many arms as I can grow without losing the part of the work that I actually like doing. That's the why. If you're closer to the operator-craftsman side and you'd rather type more yourself, this guide still holds — you'll just lean on Claude Code for the boring 60% and keep the interesting 40% in your hands. Either way the toolchain is the same. Only the leverage knob moves.
One more honest thing
Lovable, Webflow, Squarespace, Framer — these are not bad products. If you have $25/month and you'd rather pay for a hosted, no-code, "it just works" site, do that. There's no shame in trading money for time.
The reason I switched is that I wanted to ship faster than the no-code tools let me, with a stack I can extend in any direction (newsletter archive page, blog, dashboard, login system, paywall, all of it eventually). And I wanted the source code to be public, because the source code is part of the brand. That last part is specific to me. It might not apply to you.
If you read this and you're still on a no-code subscription you're happy with — stay there. If you read this and you've been quietly resenting that subscription for months — the path is shorter than you think. Four hours over a weekend. Public repo. $0/month.
Build it. Or fork mine.