A mental model for when to use Server Components vs Client Components in Next.js App Router.
Server Components fundamentally change how we think about React. They run only on the server, ship zero JavaScript to the client, and can directly access databases.
Default to Server Components. Add 'use client' only when you need: useState, useEffect, event handlers, browser APIs, or third-party client libraries.
Server Component fetches data, passes to Client Component for interactivity. Keep the client boundary as low as possible in the tree.