Introduction
When I decided to rebuild my site from scratch, my first instinct was to reach for Next.js. I had been using it for years: stable, complete, and still a reference in the React ecosystem. But trying Astro showed me a different approach, more direct, lighter, and much closer to what I actually wanted: a fast, readable site with no unnecessary layers.
1. A clear need: performance and simplicity
Above all, my site had to:
- reach a Web Vitals score above 95,
- be optimised for search,
- and stay easy to maintain over time.
With Next.js, every page shipped part of the React runtime, even for purely static content. That makes sense for a dynamic application, but it is clearly excessive for a mostly editorial site.
Astro generates static HTML by default, with no superfluous JavaScript. Interactive areas, like the contact form or a dynamic section, load only when they are needed. The result is a faster site with no compromise on the experience.
2. The “zero JS, unless you need it” idea
Astro rests on a very simple principle:
“No JavaScript until it’s actually necessary.”
In practice you can render a page fully statically while keeping the option to drop in React, Vue or Svelte components where you need them, thanks to partial hydration.
For example:
import HeroCard from "../components/react/HeroCard.jsx";
<HeroCard client:visible />
The outcome: • React only loads for that one component, • everything else stays fully static, and therefore extremely fast.
I found the approach natural and effective: precise control over performance without giving up the comfort of the React component model.
3. Next.js is still an excellent choice… in other contexts
To be clear: Next.js remains the obvious pick as soon as you’re building a complex web application. Its App Router, API routes and server-side rendering make it ideal for SaaS products, CRMs and admin panels.
But for a marketing site, a blog, documentation or a portfolio, the difference in complexity is stark: • heavier configuration, • more dependencies, • more JavaScript shipped to the client.
Astro let me get back to the essentials: writing content, thinking about design, and publishing quickly, while keeping a clean, fast and modular codebase.
4. Developer experience: smooth, modern, frictionless
The consistency of the developer experience won me over too:
• the .astro syntax is simple and readable,
• TypeScript support is built in,
• TailwindCSS integration is immediate,
• and pages assemble like reusable static blocks.
In practice, Astro made me feel like I was coding more slowly, while actually shipping much faster: less configuration, fewer builds to watch, fewer runtime errors.
5. SEO and accessibility, built in from the start
Astro pushes you towards clean, semantic HTML. You don’t need ten packages to get correct markup, because it is already well thought out. • Metadata is handled through simple layout props, • the DOM structure stays clear, • and mobile performance is excellent by default.
Combined with Plausible for GDPR-friendly analytics, I now have a site that is faster, more accessible and entirely under control.
6. In short: pick the tool that fits the need
Astro and Next.js are not direct competitors. They simply answer different needs.
If your goal is to build a marketing site, a portfolio or a blog, Astro is clearly the better fit. It favours simplicity, performance and static rendering that suits SEO, without forcing unnecessary JavaScript on the client. The result: a site that loads instantly and stays easy to evolve.
Next.js, on the other hand, shines on application projects: admin panels, CRMs, SaaS platforms, dynamic interfaces. As soon as you need server-side logic, authentication or a high level of interactivity, that’s where it belongs.
There is no winner here, only the right call for the right context:
- Astro, for projects where speed and clarity come first.
- Next.js, for those where business logic and interaction dominate.
Conclusion
What I like about Astro is how it lets me focus on substance and form rather than configuration. I write, I structure, I design: the rest follows naturally. The site stays fast, readable and easy to maintain, and I never feel like I’m fighting the framework.
As a developer, that’s exactly what I’m after today: a modern, coherent tool, light enough to disappear behind the content.
Discover Astro