K
Kumar Gaurav
Back to Blog
June 20, 20268 min readNext.js, React 19, Web Performance

Unlocking Peak Performance in Next.js 15 & React 19

In modern web development, achieving a 100/100 Lighthouse score requires going beyond basic code structure. Next.js 15+ and React 19 introduce features that fundamentally change how we fetch data and render components.

01. Server Components by Default

By keeping database fetches and heavy rendering on the server (RSC), we drastically reduce the JavaScript bundle sent to the client. This leads to a faster **Time to Interactive (TTI)**.

02. Leveraging the React Compiler

React 19's automatic compiler analyzes code paths and memoizes components dynamically. This eliminates the boilerplate of `useMemo` and `useCallback`, ensuring that re-renders only trigger when state variables change.

03. Asset Optimization Code Block Example

Here is a standard configuration mapping for pre-rendering static paths and optimizing next/image endpoints:

// next.config.ts
import type { NextConfig } from "next";

const nextConfig: NextConfig = {
  images: {
    formats: ["image/avif", "image/webp"],
    deviceSizes: [640, 750, 828, 1080, 1200],
  },
  experimental: {
    reactCompiler: true,
  },
};

export default nextConfig;

By utilizing AVIF/WebP formats and compiling with React Compiler enabled, we hit peak performance across both mobile and desktop screens.

Kumar Gaurav • Engineering Column