Why I Chose Astro for This Site — umxir.com

Published:

Umair Akhter

3 MIN READ

Every framework choice is a bet. You’re betting on the tool’s future, on your own ability to learn it, and on whether it’ll still make sense a year from now when you’re debugging it at midnight.

Here’s why I bet on Astro.

What I was looking for

I needed a site that’s fast, easy to deploy, and doesn’t make me fight the framework to do simple things. I’ve used heavier stacks — React SPAs, Next.js apps — and they’re powerful, but they carry weight.

For a personal site with a blog and some tools? That weight is waste.

What Astro gets right

Zero JS by default. Every page ships as static HTML unless you explicitly opt into JavaScript. This isn’t just good for performance — it forces clarity. You don’t reach for JS out of habit; you reach for it when there’s no other option.

Islands architecture. When you do need interactivity, you hydrate just the component that needs it. The word counter on this site uses a small interactive island. The rest of the page is static. The result: instant load, no layout shift.

File-based routing. Create a file in src/pages/, you get a route. This is the right level of magic — obvious enough that you never forget how it works, powerful enough that you don’t need to configure anything.

Content Collections. This blog runs on Astro’s Content Collections feature. Each post is a Markdown file. The schema is typed — if I forget a required frontmatter field, TypeScript catches it before it builds. This is a genuinely excellent DX.

Where it surprised me

The Cloudflare Pages deployment is suspiciously easy. Push to GitHub, connect the repo, set build command to npm run build and output to dist/. That’s it. The site deploys in under 30 seconds and sits on Cloudflare’s edge network.

I expected more friction. There wasn’t any.

What I’d tell someone considering Astro

If you’re building a content site, a portfolio, or a tool collection — Astro is the right call. If you’re building a complex application with lots of client-side state, you might want something with more client-side infrastructure.

For everything I’m building here, Astro is the right tool. Fast by default, easy to deploy, TypeScript-native, and honest about what it is.

How this affects the tools I build

The performance constraints are actually creative constraints. When you can’t reach for a heavy charting library on a whim, you write the SVG yourself. When you can’t dump everything into a React component, you think harder about what actually needs to be interactive.

The text tools on this site are the result of that thinking. Pure HTML and a small script. They work instantly, they load instantly, and they don’t need a CDN or a subscription.

That’s the kind of tool I want to build. Astro makes that natural.