streaming-ssr

Stream server-rendered HTML with React 18 streaming APIs to reduce TTFB and FCP.

Updated Oct 26, 2025
One-click install
npx skills add https://github.com/jcsoftdev/pulzifi-back --skill streaming-ssr-jcsoftdev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: streaming-ssr
Source: https://github.com/jcsoftdev/pulzifi-back/tree/main/.claude/skills/streaming-ssr
Command: npx skills add https://github.com/jcsoftdev/pulzifi-back --skill streaming-ssr-jcsoftdev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Streaming SSR helps reduce Time to First Byte (TTFB) and First Contentful Paint (FCP) by delivering HTML incrementally as it's generated, enabling faster initial paint.

Core Features & Use Cases

  • Streaming with renderToPipeableStream / renderToReadableStream on Node or edge runtimes
  • Progressive hydration with hydrateRoot to improve perceived performance on large pages
  • Edge-friendly SSR: efficient memory usage and lower latency for dynamic pages

Quick Start

Enable streaming SSR in your app by using renderToPipeableStream and wiring onShellReady to start streaming as soon as the shell is ready.

Frequently Asked Questions about streaming-ssr

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reduce TTFB and FCP during large React page renders?

Streaming SSR reduces Time to First Byte and First Contentful Paint by delivering HTML incrementally. Using React 18 streaming APIs, the server sends HTML chunks as they generate, enabling faster initial paint for large page renders.

How do I use renderToPipeableStream to enable streaming SSR in a React app?

You can use renderToPipeableStream to enable streaming SSR by wiring the onShellReady event to start streaming responses as soon as the shell is ready. This requires a server capable of streaming responses and correct client hydration logic.

Does streaming SSR work on edge runtimes or do I need a Node server?

Streaming SSR works on both Node and edge runtimes. You can use renderToPipeableStream for Node or renderToReadableStream for edge environments, ensuring efficient memory usage and lower latency for dynamic pages.

What is progressive hydration and how does it improve perceived performance?

Progressive hydration uses hydrateRoot to improve perceived performance on large pages by allowing the client to hydrate the server-rendered HTML incrementally. This prevents blocking the main thread and makes the page feel more responsive.

What React version is required to implement streaming server-rendered HTML?

Implementing streaming server-rendered HTML requires React 18 because it introduces the necessary streaming APIs like renderToPipeableStream and hydrateRoot, which are essential for delivering HTML incrementally and wiring correct client hydration.

When should I avoid streaming SSR for my web application?

You should avoid streaming SSR if your server environment cannot support streaming responses or if your application lacks correct client hydration logic. Without these prerequisites, the streaming mechanism will fail to function correctly and break page rendering.