Hello, sky: launching this blog on Astro + Cloudflare
Why Astro instead of WordPress
After years of running WordPress sites at scale, I wanted something that would let me write quickly without the operational tax. Astro hits the sweet spot: markdown files, git-based publishing, zero JavaScript on the wire by default, and hosting that costs literally nothing.
What you’ll find here
Notes on SEO, technical content workflows, and whatever else is on my mind.
The stack
- Astro 5 with content collections
- Cloudflare Pages for hosting (free tier)
- Decap CMS for browser-based editing when I don’t want to open VS Code
- Tailwind for styling
All of this was scaffolded in about 30 minutes with Claude Code.
// What a content collection schema looks like
const blog = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
description: z.string(),
pubDate: z.coerce.date(),
tags: z.array(z.string()).default([]),
}),
});
More posts coming soon.