concept

Render Location Decision

Where HTML is produced — build time, server, edge or browser — chosen per route by how personalised and how cacheable that route is.

The four options trade the same two variables. Build time produces the fastest possible response and cannot personalise. Server personalises fully and pays a round trip plus origin compute per request. Edge narrows the round trip and constrains what the render can reach. Browser offloads the work entirely and delays first paint until JavaScript has downloaded and executed.

The mistake is choosing one for the whole application. A marketing page is identical for everyone and should be built once. A logged-in dashboard cannot be cached and belongs on the server. A product listing is the same for most visitors and can be rendered once and revalidated periodically, which is the case incremental regeneration exists for.

The question that decides each route is what fraction of the response varies by user, and how stale it may be. Where the answer is "nothing varies", anything other than build time is paying for flexibility not being used. Where it is "everything varies", static generation is unavailable regardless of preference, and the honest options are server or client.