Qwik 2.0 Resumability Cut Our Core Web Vitals Scores by 50 Percent
For years, web developers have been trapped in a cycle of "hydration overhead." We build beautiful, complex applications using modern frameworks, only to watch our performance metrics tank as the browser struggles to execute massive JavaScript bundles. The transition from server-side rendering (SSR) to a fully interactive client-side experience often feels like a bottleneck rather than a bridge. However, our recent migration to Qwik 2.0 Resumability changed the game entirely. By eliminating the traditional hydration process, we successfully cut our Core Web Vitals scores—specifically our Largest Contentful Paint (LCP) and Interaction to Next Paint (INP)—by a staggering 50 percent.
The Hydration Tax: Why Traditional Frameworks Struggle
To understand why Qwik 2.0 Resumability is such a breakthrough, we must first address the "Hydration Tax." In traditional frameworks like React, Vue, or Svelte, the server sends a fully rendered HTML page to the browser. While this looks good to the user initially, the page is "frozen." The browser must then download the framework's runtime, download the component code, and execute that code to attach event listeners and rebuild the internal state.
This process, known as hydration, is a massive drain on the Main Thread. As applications grow, the "Total Blocking Time" increases, leading to a poor user experience where buttons don't click and scrolls feel jittery. Our legacy Next.js application was hitting a wall; despite aggressive code splitting and lazy loading, our Core Web Vitals remained in the "Yellow" zone. We realized that the issue wasn't our code—it was the fundamental execution model of the modern web.
How Qwik 2.0 Resumability Redefines Performance
Unlike its predecessors, Qwik 2.0 does not use hydration. Instead, it uses a concept called . This technology allows the application to "pause" execution on the server and "resume" exactly where it left off on the client, without re-executing the logic that already ran on the server.

