Software • 5 min read

Why We Rewrote Our Core Web Apps from Next.js to Astro

Next.js App Router brought massive complexity, server action bugs, and hydration lock-in. Rebuilding with Astro Islands dropped bundle size to 0kB.

Daniel Dano
Daniel Dano
Founder & Editor · Ryla Labs Ryla Labs
Published:
Updated:
Code editor showing clean HTML and CSS component architecture
HD View
Code editor showing clean HTML and CSS component architecture Product Photography / LighterLine Bench

When Next.js introduced the App Router, Server Components, and Server Actions, it promised to bridge the gap between client and server.

In practice, simple content and marketing pages suddenly required complex caching heuristics, confusing use client boundaries, and massive JavaScript runtimes downloaded just to display static text.

When we rebuilt LighterLine and our customer-facing web apps in Astro, our Core Web Vitals transformed overnight:

  • Zero JavaScript by Default: If a page does not need interactivity, Astro outputs pure, pre-rendered static HTML.
  • Selective Island Hydration: Interactive widgets (like our search modal or theme toggle) are isolated islands hydrated only when idle.
  • Lighthouse Performance Score: Jumped from 78 to a perfect 100 across mobile and desktop.

Web engineering should be as lightweight as possible. Astro brought the joy of building websites back.

Daniel Dano

Written by Daniel Dano

danieldano.com ↗

15-year-old software developer, founder of Ryla Labs (50,000+ monthly users across 12 countries), author of Built Young, and high school student leader.

Published by Daniel Dano & Ryla Labs Co-Editor & Hardware Photography: Jonathan Dano