Component Tree click a node — Server ⇄ Client
    Server Component — runs on server, 0 KB JS Client Component — ships JS, can use hooks Forced client — inside a "use client" boundary above
    Live Readout custom
    0 render on server
    no JS shipped
    0 ship to client
    in JS bundle
    JS shipped to browser ~0 KB

    Selected: App Server

    Rule of thumb: fetch data in server components (close to the DB, secrets stay server-side); push interactivity down to the smallest leaf that needs onClick or state. The lower the "use client" boundary, the less JS the browser downloads.