2026-03
Why I Enjoy Building with Astro
A quick note on why I enjoy using Astro and why it’s often my go-to choice for simple, fast, and content-driven projects.
Valentin Afonso
Fullstack developer
I’ve been using Astro more and more lately, and I keep coming back to the same thought: It just feels right for a lot of projects. This is a quick note on why I enjoy building with it, and in which cases I think it really shines.
Perfect for Simple Projects
Astro really shines when it comes to simple, content-driven projects:
- landing pages
- blogs
- portfolios
- documentation websites
In these cases, I don’t need a heavy framework or a complex client-side logic everywhere. I just want something fast, simple and easy to maintain. Astro fits perfectly here.
Component Architecture (Islands)
One thing I really like is the component-based approach. As someone who enjoys working with React, I naturally like thinking in components and Astro follows a similar philosophy, but in a simpler way.
How .astro components work
An Astro component is split into two parts:
---
const title = "Hello Astro"
---
<h1>{title}</h1>
- the top section (
---) is your server-side logic - the bottom is your template (HTML-like)
It’s simple, readable, and doesn’t try to do too much.
Islands architecture
Astro uses an islands architecture:
- everything is static by default
- only specific components become interactive
This means you only add JavaScript where you actually need it.
Server-First & Zero JS by Default
By default, Astro ships zero JavaScript to the client. This has huge benefits:
- faster load times
- better performance
- improved SEO
- less client-side complexity
You only add interactivity when needed. For example, if I want to use a React component on the client:
<MyReactComponent client:load />
This makes the component interactive in the browser. I like this approach a lot because: performance is the default and complexity is opt-in
Content Collections
Astro provides a really nice way to manage structured content with content collections. You can define schemas, organize content, query, filter, and list entries easily. I personally use collections for my blog, my projects and career page. It keeps everything typed, structured and easy to maintain.
Easy Integration with Frontend Frameworks
One of the biggest advantages of Astro is that it doesn’t lock you in. You can use:
- React
- Vue
- Svelte
- or no framework at all
For example, if I want a very lightweight backend but still use React for interactivity, I could go with something like Next.js. But honestly, that often feels overkill for smaller projects. Astro becomes a perfect middle ground: minimal by default and flexible when needed
Adapters & Deployment
Astro also makes deployment very flexible thanks to adapters. You can easily deploy to Node environments, serverless platforms, edge runtimes, platforms like Vercel. This makes Astro very portable and easy to integrate into different infrastructures. I personally deploy all my Astro projects on Cloudflare Page.
Final Thoughts
Astro is not a replacement for everything. But for the right use cases, it’s incredibly enjoyable to work with. What I like most:
- simplicity by default
- performance out of the box
- flexibility when I need it
It’s one of those tools that helps me focus on the project, not the tooling.