Back to home
Web Development

Why We Use Astro (and Not Next.js) for This Landing Page

We love Next.js for apps. But for this site, we cut bundle size by 85% and hit a perfect Lighthouse score. Here's why Astro was the right call.

Double Commit Logo
Double Commit
January 8, 2026
5 min read

Let’s get straight to the point. We love Next.js. We use it for complex web applications, dashboards, and anything that requires heavy state management.

But for a landing page? It’s overkill. And not the “better safe than sorry” kind of overkill—the “bringing a tank to a knife fight” kind.

The Problem with Next.js for Static Sites

When you build a landing page with Next.js (even with Server Components), you’re often shipping a lot of React runtime that you simply don’t need. Hydration is expensive. Mobile devices choke on large bundles. And Google’s Lighthouse punishes you for it.

We wanted this site to be:

  1. Fast. Not “feels fast,” but actually fast.
  2. Simple. No complex state management for a contact form.
  3. Green. Less processing power = less energy.

Enter Astro

Astro takes a different approach. It ships zero JavaScript to the client by default. That’s right. None.

It renders your HTML on the server (or at build time) and strips out all the JS unless you explicitly ask for it.

Islands Architecture

The best part? We didn’t have to give up React entirely. See that pricing calculator or the contact form? Those are React components.

In Astro, we use “Islands Architecture”:

<ContactForm client:visible />

By adding client:visible, we tell Astro: “Hey, treat this specific chunk as a React app, but only load the JS when the user actually scrolls to it.”

The rest of the page—the header, the footer, the text you’re reading right now—is just HTML and CSS.

The Results

We ran the numbers. Comparing a previous version of this site built in Next.js vs. the Astro version:

  • Bundle Size: Reduced by 85%.
  • First Contentful Paint (FCP): 0.8s vs 0.3s.
  • Lighthouse Score: Jumped from 88 to 100 on mobile.

Conclusion: Match the Tool to the Job

Astro isn’t “better” than Next.js. It’s better for this use case.

We use Next.js daily for complex applications—dashboards, portals, anything with heavy state management. We use Astro for content sites. Knowing when to use each is the difference between a snappy 100-score site and one that makes mobile users wait.

We don’t choose tech stacks because they’re trendy. We choose them because they work. And for this site, Astro works better.

Building a landing page or marketing site? Astro should be on your shortlist. You’re looking at one right now.

Building a complex web app or AI-powered product? Next.js is probably your answer.

Either way, we can help. And if you’re wondering about pricing for your project, check out our guide on fixed price vs hourly.