SSiddiq.in
Rendering-first Next.js

The most important Next.js decision happens before you write a single line of code.

SSG, ISR, SSR, streaming, client-only — each of your routes deserves a different one. Get the mix right and you get a site that ranks and loads in under a second. Get it wrong and no amount of "optimisation" will save you.

The decision that beats every optimisation

A rendering strategy for every route.

Route typeRight strategyWhyWrong choice hurts because
Homepage, /pricing, /aboutSSGContent changes weekly at mostSSR wastes function invocations; ISR is unnecessary complexity
Blog / /resources/*ISR (60–3600s)Fresh but not real-time; big catalogSSG rebuilds explode; SSR loses cache
Programmatic SEO — 10k+ pagesISR on-demandBuild finite; long-tail unboundedSSG timeouts on Vercel builds
Dashboard /app/*Client + streamingBehind login, personalisedSSG is impossible; full SSR wastes CPU
User profile /u/[handle]SSR + revalidateTagPublic-shareable, per-userSSG is stale; client-only loses OG image
Search resultsSSR (no cache)Depends on live query paramsISR serves someone else's search
The most common Next.js LCP bug

Waterfalls: the invisible 1200ms.

Wrong · sequential
layout
→ page
→ header
→ sidebar
→ content
LCP = 5 round-trips × ~240ms ≈ 1.2s wasted
Right · parallel
layout
→ page
Promise.all:
header
sidebar
content
LCP = 2 round-trips ≈ 480ms — same code, 60% faster
App Router · honest map

What's actually great, what's still awkward.

The wins
  • • Server Components eliminate 60% of client bundle on content pages
  • • Nested layouts finally make persistent chrome trivial
  • • Streaming with Suspense hides slow data behind fast skeletons
  • • Per-segment `loading.tsx` and `error.tsx` — no more global spinners
  • • `revalidateTag` gives Cache API a real invalidation story
The rough edges
  • • `use client` boundary confusion — teams cargo-cult it everywhere
  • • Server Actions look like RPC; they're public HTTP endpoints — auth them
  • • Middleware runs on Edge runtime — half of npm doesn't work there
  • • Dynamic imports of client components inside RSCs is fiddly
  • • Error messages during build are still — being polite — cryptic
Budgets, not aspirations

The numbers we ship against.

First JS bundle
≤ 90 KB gz

Route-level. Homepage should not ship the checkout code.

Server response (TTFB)
≤ 200 ms

Measured from edge to first byte in the P75 region.

LCP
≤ 1.8 s

On slow 4G, mid-range Android. Not on your MacBook.

CLS
≤ 0.05

Everything above the fold has intrinsic dimensions.

Interaction (INP)
≤ 200 ms

Never block the main thread with sync work over 50ms.

Lighthouse SEO
100

This is not the hard one. If we ship 92, we forgot alt text.

Next.js FAQ

If the site needs Google to see fully-rendered content, or you want per-page metadata that changes based on data, you need SSR/SSG — that means Next.js (or Astro/Remix). If it's all behind a login and users tolerate a spinner, Vite is faster to build and simpler to deploy.

Rendering mode matrix

Six modes. Picking the wrong one is Next.js's most expensive mistake.

SSG (static)
Built once at deploy. Zero runtime cost, best TTFB. Use for marketing, docs, blog posts. Rebuild required for content change.
ISR
Static + revalidate every N seconds or on-demand. Best of both when content changes hourly, not per-request.
SSR
Rendered per request. Use only when the response truly depends on the current user or request. Costs latency + compute.
RSC (React Server Components)
Server renders components, streams to client. Cuts JS bundle. Watch out: `use client` boundaries silently ship everything below to browser.
Streaming + Suspense
Ship the shell fast, stream slow parts. Excellent for dashboards. Requires thinking about loading hierarchy.
CSR (client-only)
`use client` + `useEffect` fetches. Reserve for interactive widgets. Never default to this — it's why old React apps felt slow.

Rendering strategy is a 30-minute call.

Bring your sitemap and traffic pattern. We'll leave you with an SSG/ISR/SSR map you can build against — even if you don't hire us.

Book the call
Right tech, honest advice

Not sure if this is the right stack for you?

Tell us your goals — we'll recommend the right technology honestly, even if it isn't this one.

  • Personal reply from Siddiq within 24 hours
  • Honest advice — no pushy sales, no fake urgency
  • Clear next steps, timeline, and estimate

We only use your details to reply to this enquiry. Privacy.