Engineering

The stack behind genuinely fast web apps

Speed is an architecture decision made a hundred times over. A tour of the choices — rendering, data, and delivery — that keep our apps fast under real load.

Nour Adel

Software Engineer · May 30, 2026 · 9 min read

A fast web app is not the result of one clever optimisation. It is the accumulated effect of dozens of small, deliberate choices about where code runs, when data is fetched, and how bytes reach the browser.

Render on the server, hydrate what needs it

Most of a page is content, not interaction. Rendering that content on the server and shipping it as HTML means the browser has something meaningful to paint immediately, while only the truly interactive islands carry JavaScript. The result is a page that is useful before it has finished loading.

Treat data fetching as part of the design

Where and when you fetch data shapes how fast a page feels more than almost anything else. We colocate data with the components that need it, cache aggressively at the edge, and stream results so the shell appears the instant it can.

  • Static-render anything that isn't personalised.
  • Cache at the edge and revalidate on a schedule, not on every request.
  • Stream long responses so the first paint never waits on the last byte.
  • Ship images in modern formats, sized for the layout that requested them.

Measure what users feel

Synthetic scores are a starting point, not a finish line. We watch the metrics that map to perception — how soon the page is interactive, how stable the layout stays, how quickly the next navigation resolves — and we treat regressions in those as bugs, not cosmetics.

Fast is not a feature you add at the end. It is a constraint you honour at every layer, and the payoff is an app that feels effortless no matter the network it lands on.

Enjoyed this article?

Let's talk about your project

If this got you thinking about your own product, we'd love to hear about it — no pressure, just a conversation.