Why I built this site with Astro
Astro ships zero JavaScript by default, which makes it a near-perfect fit for a content site like a portfolio or blog. Here’s the short version of why I reached for it.
Fast by default
Pages are pre-rendered to static HTML. There’s no client-side framework to download and hydrate before the page is usable, so it loads fast and scores well on Core Web Vitals out of the box.
Content collections
The blog you’re reading uses Astro’s content collections — type-safe frontmatter, validated at build time. If I typo a field name, the build tells me instead of silently shipping a broken page.
Islands when I need them
When a page genuinely needs interactivity, I can drop in a React (or Vue, or Svelte) component and hydrate just that island. Everything else stays static.
That combination — static-first, interactive-when-needed — is exactly what a site like this wants.