1. React Server Components vs. Client Component Boundaries
The single most common mistake in Next.js App Router codebases is placing 'use client' at the top of page layouts, which turns the entire subtree into client-side JavaScript. To achieve sub-second load times, push 'use client' directives as far down the component tree as possible (to interactive buttons and forms), keeping layout wrappers, data fetching, and heavy markdown parsers strictly on the server.
