How I Built This Blog with Claude, Cloudflare, and Google Cloud

What if you could go from zero to a fully live, custom-themed tech blog in a single sitting — with an AI doing most of the heavy lifting? That’s exactly what I did. This post is the story of how I built parvindersingh.ca using Claude as my AI pair-programmer, Google Cloud Platform for hosting, and Cloudflare for DNS and CDN.

Why Build Your Own Blog?

I’d been writing on other platforms for a while, but I wanted something that was truly mine — a space where I controlled the design, the SEO, the performance, and the content workflow. These platforms are convenient, but they own your audience, limit your customization, and can change their algorithms or monetization rules overnight.

I wanted a blog that was fully self-hosted, custom-designed to match my personal brand, blazing fast with a global CDN, and essentially free to run. The catch? I didn’t want to spend days configuring servers. That’s where Claude came in.

The Tech Stack

The blog runs on a simple but effective architecture: a single Google Cloud VM on the Always Free Tier running a classic LAMP stack (Apache, MariaDB, PHP) with WordPress as the publishing engine. Cloudflare sits in front handling domain registration, DNS, CDN caching, and SSL termination. The theme is fully custom — no third-party dependencies.

This combination gives me a production-grade blog with global edge caching, automatic HTTPS, and zero monthly hosting cost. The only recurring expense is the domain name itself.

How Claude Helped at Every Stage

I didn’t just use Claude to answer questions — I used it as a full-stack infrastructure engineer. The entire blog was built through a single extended conversation.

Infrastructure Provisioning

I described what I wanted and Claude produced the exact commands to create the VM, reserve a static IP, and configure firewall rules. It knew which GCP regions qualify for the free tier, which machine type to use, and how to size the boot disk to stay within free limits. No clicking through consoles, no guessing at settings.

Performance Tuning for Constrained Hardware

An e2-micro VM has only 1 GB of RAM. Running a full web stack on that requires careful tuning. Claude anticipated this constraint without me raising it — it added swap space, reduced database memory allocation, limited Apache worker processes, and enabled opcode caching. These aren’t the kinds of optimizations you find in a “getting started” tutorial. They require knowing how each component behaves under memory pressure.

Security Hardening

After the basic installation, Claude layered on production-grade security: a firewall allowing only essential ports, brute-force protection, automatic security updates, and WordPress-specific hardening like disabling XML-RPC. It also set up automated weekly backups. This is the kind of work that typically gets deferred to “later” and never happens — Claude just did it as part of the initial setup.

Custom Theme Design

This was the most impressive part. I described the aesthetic I wanted — clean, minimal, warm neutrals with an accent color, optimized for technical posts with code blocks — and Claude generated a complete WordPress theme. Full dark mode support, responsive mobile layout without a CSS framework, syntax-highlighted code blocks, reading progress indicator, and proper semantic HTML. The whole theme went from concept to deployed in about 20 minutes of conversation.

DNS and SSL

Instead of the typical Let’s Encrypt setup (which requires renewal management and a cron job), Claude suggested Cloudflare’s Origin Certificate — valid for 15 years with zero maintenance. Since the domain was registered directly through Cloudflare, DNS propagation was instant and CDN caching was active from the first request.

The Publishing Workflow

Rather than writing in WordPress’s browser editor, Claude helped me build a developer-friendly workflow: write in Markdown locally, convert to HTML, and publish via a script that calls the WordPress API over SSH. I can go from finished draft to live post with a single terminal command.

From Zero to Live in One Session

The most surprising thing about this project was the speed. In a single extended conversation with Claude, the entire stack was provisioned, configured, hardened, themed, and publishing live content — including SEO setup with sitemaps and search console verification.

No Stack Overflow tabs. No half-read documentation. No “works on my machine” debugging loops. Claude held the full context of the project and made decisions that were consistent across all layers of the stack.

Lessons Learned

Claude excels at infrastructure work. The combination of knowing GCP’s free tier limits, WordPress internals, Apache configuration, and CSS in a single conversation is something no human consultant would match at that speed.

Cloudflare is absurdly generous. Free DNS, free CDN, free SSL, at-cost domain registration. For a personal blog, there’s no reason to use anything else for the edge layer.

The e2-micro VM is sufficient. With proper tuning and Cloudflare caching in front, a 1 GB RAM machine handles a personal blog comfortably.

AI-assisted development isn’t just autocomplete. This wasn’t “Claude wrote some code for me.” It was a full architectural conversation — choosing between Let’s Encrypt vs. Origin Certificates, deciding on MariaDB over MySQL for memory efficiency, structuring the theme for maintainability. The AI made judgment calls, not just syntax.

Try It Yourself

If you’ve been meaning to start a technical blog but keep putting it off because “setting up hosting is too much work” — it’s not, anymore. With Claude and the GCP free tier, you can have a professional blog running in an afternoon.

The tools are free. The AI is the multiplier.

This blog is live at parvindersingh.ca.