Skip to main content
Kamran AliFull Stack Engineer
← All posts
Frontend Engineering

Why I Switched to Server Components for Portfolio Sites

September 11, 2026

Why I Switched to Server Components for Portfolio Sites

The default should be server

A portfolio site is mostly static content — bio, projects, blog posts. None of that needs to ship as client JavaScript.

My rule of thumb: a component is a Client Component only if it does one of these:

  • Uses state or effects
  • Listens to browser events
  • Depends on a browser-only API

Everything else — including my entire blog listing and post pages — stays a Server Component that fetches data directly, no client-side loading spinner required.