The Next.js 15 Performance Checklist We Run on Every Build
Lighthouse 95+ isn't luck — it's a checklist. The exact server-component, image and bundle disciplines behind every Devio launch.
Every Devio build ships with a Lighthouse score of 95+ on desktop and 90+ on mobile. That target is contractual, so the path to it can't be luck — it's a checklist we run on every project, and this post is that checklist.
Server Components by default. Client components are opt-in and justified: forms, animation boundaries, WebGL. Everything else renders on the server, which keeps the JS bundle for a typical marketing page under 90KB.
Heavy modules load lazily behind next/dynamic. Our Three.js hero scenes only hydrate when the canvas scrolls near the viewport, with a Suspense fallback that matches the canvas background pixel-for-pixel — no layout shift, no flash.
Images are non-negotiable: next/image with AVIF/WebP, explicit dimensions and priority only on the LCP element. The single most common performance bug we inherit from other agencies is an unoptimized hero image — it's a one-line fix worth 15 Lighthouse points.