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.
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.
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.