Why I build with Astro in 2026
Most websites ship far more JavaScript than they need. Astro flips the default: send HTML and CSS, and add JavaScript only where it earns its place. In 2026, that's still the fastest way I know to build content-driven sites.
Ship less JavaScript
The single biggest lever on a fast site is how much JavaScript the browser has to download, parse and run. Traditional SPA frameworks hydrate the entire page by default. Astro ships zero JavaScript out of the box.
Kilobytes of JS on a typical marketing page (hover a row)
Islands, not whole pages
When you do need interactivity, a cart, a carousel, a search box, Astro lets you drop in a component as an island. It hydrates on its own, independently of everything around it, and you choose exactly when with a single directive:
client:load
client:visible
client:idle
client:media
What an island looks like
You write components like normal, React, Svelte, Vue or plain Astro, and add a single directive. Here, only the Add to cart button ships JavaScript, and only once it's on screen:
---
// product-card.astro, zero JS unless it needs it
import AddToCart from "./AddToCart.tsx";
const { product } = Astro.props;
---
<article class="card">
<img src={product.image} alt={product.name} />
<h3>{product.name}</h3>
<p>{product.price}</p>
<!-- Only THIS component ships JavaScript,
and only once it scrolls into view -->
<AddToCart client:visible product={product} />
</article> The payoff, in one number
On real projects, moving a content site from an SPA to Astro routinely strips out the vast majority of shipped JavaScript, with no loss of interactivity where it actually matters.
Around 90% less JavaScript means faster loads, better Core Web Vitals, and a site that works even on a flaky connection or an older phone. That's a win you feel on every single visit.
Where Astro shines (and where it doesn't)
- Great for: marketing sites, blogs, docs, portfolios, e-commerce, anything content-heavy where speed and SEO matter.
- Content Collections give you type-safe Markdown/MDX with autocomplete and validation built in.
- Bring your own framework: mix React, Svelte and Vue in the same project if you need to.
- Less ideal for: highly stateful, app-like dashboards where almost everything is interactive, there, a full SPA may fit better.
For the kind of work I do most, fast, content-driven sites that need to rank and convert, Astro hits the sweet spot. It's why this very portfolio is built with it.
Want a site that's fast by default?
I build lightning-quick, accessible sites with Astro.