Why I Chose Astro
4/27/2026 #Tech #Astro
Simplicity Is the Best Complexity
Choosing Astro as the blog framework came down to a few simple reasons:
- Zero-JS output by default — a page load needs only HTML and CSS
- Native Markdown support — articles are written straight as
.mdfiles - Content Collections — type-safe content management
- Free to deploy — supported by Vercel, Netlify, and Cloudflare Pages alike
Content Collections
Astro’s Content Collections provide schema validation and type inference:
const blog = defineCollection({
type: "content",
schema: z.object({
title: z.string(),
date: z.date(),
tags: z.array(z.string()),
}),
});
Writing an article means creating a .md file under src/content/blog/ — that’s all.
Performance
Because no JavaScript is output by default, this blog’s Lighthouse score should be near perfect. Page load speed is roughly equal to the size of the HTML file.
For a content site, that’s already enough.