Engineering

React Server Components in production

Marcus Lee, Principal EngineerFeb 20269 min read

React Server Components shift the default: components render on the server and ship zero JS unless they need interactivity. For content-heavy apps, that's a meaningful drop in bundle size and a faster first paint.

The mental model that works for us: server by default, client at the leaves. Fetch data in server components close to where it's used; push state and effects down into small client components marked explicitly. Most of the tree never needs to hydrate.

The sharp edges are real. You can't pass functions across the server/client boundary, context lives only on the client, and it's easy to accidentally pull a server module into a client bundle. Lint rules and a clear folder convention save a lot of head-scratching.

Used deliberately, RSC isn't a rewrite of how you think about React — it's a way to delete client JavaScript you never needed. Start with the static parts, measure the bundle, and expand from there.

Let's build what's next.

Tell us about your product and we'll come back within one business day with a clear path forward — no obligation.

Headquartered in Hong Kong — engineering and delivery across Eastern Asia and Eastern Europe, with US partners as fractional CTOs.

Start a project

Tell us what you're building — no obligation.