Why I Ditched Next.js and Rebuilt My Site with Astro
Sometimes the best code is the code you don't ship to the browser. // package.json diff - "next": "15.3.5", - "react": "19.0.0", - "framer-motion": "12.23.0", - "gsap": "3.13.0", + "astro": "6.x", ...

Source: DEV Community
Sometimes the best code is the code you don't ship to the browser. // package.json diff - "next": "15.3.5", - "react": "19.0.0", - "framer-motion": "12.23.0", - "gsap": "3.13.0", + "astro": "6.x", + // that's... kind of it Let me be clear upfront: I still love Next.js. I spent months building my v1 portfolio with it. React 19, Tailwind v4, Framer Motion, GSAP, dual design modes with smooth morphing animations, the whole nine yards. It was a flex. It looked great. I was proud of it. But then I asked myself a simple question: "What am I actually building here?" The Realization My v1 site was a portfolio. It had an about section, experience timeline, skills grid, project cards, a writing section, and social links, all on one page with fancy animations. The blog was there, but it was secondary. When I decided to pivot to weekly blogging, I looked at my Next.js setup and thought: Framework JS shipped to browser: ~180KB React runtime: ~45KB Framer Motion: ~60KB GSAP: ~30KB Content that actua