Byte-Sized Design

Byte-Sized Design

Yelp knows their resources are better than your phone.

So they did all the server side rendering themselves

Byte-Sized Design's avatar
Byte-Sized Design
Dec 25, 2023
∙ Paid

⚡TLDR;

Yelp has been doing Server Side Rendering (SSR) for awhile. But it wasn’t optimized so they made it more optimized.

  • Do the SSR work on worker threads instead of the main thread

  • Switch to client-side rendering if server-side rendering would fail.

👏 Yelp’s problem with SSR

SSR was done on a single service and put a lot of stress on that server. Which is one of the biggest cons to server side rendering.

🧠 How it used to happen

There was a single service that built all the server-side rendering bundles.

This meant there was a bundle for each and every entry point to a yelp page on the same server

  • This meant a server wouldn’t be started until it built all of them (yikes).

  • ♻️ It got so slow that their own alarms marked the server as unhealthy and restarted the server.

🔧 Here’s the requirements

Requirement #1: Don’t block the main thread trying to build the HTML. This also solves the server start problem.

Requirement #2: Fail-fast and faster than that. If SSR doesn’t work, go with client-side rendering.

🚅 Processing the process diagram

User's avatar

Continue reading this post for free, courtesy of Byte-Sized Design.

Or purchase a paid subscription.
© 2026 Byte-Sized Design · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture