← Back to blog
Build a personal blog with Astro
From zero, use Astro's content collections and static generation to build a blazing-fast personal blog.
Picking a framework for a personal blog, I went back and forth and finally settled on Astro — for one simple reason: it ships zero JavaScript to the browser by default.
Content collections are the key
Astro’s Content Collections turn Markdown into real, typed data:
const posts = await getCollection("blog");
Every post’s title, pubDate, tags are constrained by a schema, so a typo in the frontmatter fails at build time instead of silently breaking in production.
Why it’s fast
- Pages are already complete HTML at build time
- Only the parts that need interactivity hydrate (Astro calls them “islands”)
- Deploy to any static host — no server to maintain
For one person writing posts, this combination is almost perfect.