<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Abdul Basit Ali on Medium]]></title>
        <description><![CDATA[Stories by Abdul Basit Ali on Medium]]></description>
        <link>https://medium.com/@basitalitech?source=rss-6043bd0cff1b------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*tjOzCRI_fpTI_fVa737pgQ.png</url>
            <title>Stories by Abdul Basit Ali on Medium</title>
            <link>https://medium.com/@basitalitech?source=rss-6043bd0cff1b------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 04 Jun 2026 01:37:35 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@basitalitech/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[When NOT to Use Server-Side Rendering (SSR): The Hidden Costs of Modern Web Architecture]]></title>
            <link>https://medium.com/@basitalitech/when-not-to-use-server-side-rendering-ssr-the-hidden-costs-of-modern-web-architecture-7199b95a449c?source=rss-6043bd0cff1b------2</link>
            <guid isPermaLink="false">https://medium.com/p/7199b95a449c</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-architecture]]></category>
            <category><![CDATA[server-side-rendering]]></category>
            <dc:creator><![CDATA[Abdul Basit Ali]]></dc:creator>
            <pubDate>Tue, 24 Feb 2026 03:22:00 GMT</pubDate>
            <atom:updated>2026-02-24T03:22:00.922Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LgrVvYcRmYYA4MwROGn5gQ.png" /></figure><p>In the modern web development landscape, <strong>Server-Side Rendering (SSR)</strong> is often treated as the gold standard. Frameworks like Next.js, Nuxt, and Remix have made it remarkably easy to implement, promising lightning-fast “First Contentful Paints (FCPs)” and impeccable SEO.</p><p>But here is the hard truth: <strong>SSR is not a “set it and forget it” performance booster.</strong> It is a complex architectural choice that introduces significant overhead. If you choose SSR for the wrong project, you might find yourself battling higher latency, increased server costs, and a more fragile codebase.</p><p>Here is when you should skip the server-side hype and stick to Client-Side Rendering (CSR) or Static Site Generation (SSG).</p><h4>1. When Your App is Behind a Login (The Dashboard Rule)</h4><p>If your application is a private dashboard, an admin panel, or a SaaS tool where users spend 99% of their time logged in, SSR is likely overkill.</p><ul><li><strong>SEO Doesn’t Matter:</strong> Search engines cannot crawl content behind a login wall. The primary benefit of SSR — indexability — is instantly neutralized.</li><li><strong>The “Double Fetch” Problem:</strong> With SSR, the server must fetch data to render the HTML, and then the client-side JavaScript often has to fetch it again to handle user interactions or updates. In a data-heavy dashboard, this just adds unnecessary round-trip time.</li></ul><h4>2. When You Require High Interactivity and Low Latency</h4><p>SSR is excellent for static content, but it can be a bottleneck for highly interactive applications like image editors, complex spreadsheets, or real-time games.</p><p>Every time a user navigates to a new “page” in a pure SSR environment, the server has to work. This can create a “heavy” feeling compared to a <strong>Single Page Application (SPA)</strong>, where transitions are near-instant because the logic is already in the browser. If your UI needs to react to every click and drag with zero lag, CSR is your best friend.</p><h4>3. When Your Server Budget is Tight</h4><p>SSR is computationally expensive. Instead of serving a simple static file (which can be cached on a CDN for pennies), your server must execute JavaScript for every single request.</p><ul><li><strong>Scaling Issues:</strong> If your site goes viral, a static site handled by a CDN won’t blink. An SSR site, however, will require a robust backend infrastructure (and a hefty cloud bill) to process thousands of simultaneous “renders.”</li><li><strong>Cold Starts:</strong> If you are using Serverless Functions (like Vercel or AWS Lambda) for SSR, your users may experience “cold starts” — a delay of several seconds while the server environment wakes up to render the page.</li></ul><h4>4. When the Data Doesn’t Change Often</h4><p>If you are building a blog, a documentation site, or a marketing landing page, you don’t need SSR. You need <strong>Static Site Generation (SSG)</strong>.</p><p>SSG gives you the SEO benefits of SSR but does the “rendering” at build time. The result is a set of flat HTML files that are incredibly fast. Using SSR for a page that only changes once a week is like hiring a chef to cook a meal every time someone enters a restaurant, rather than just having the food ready to serve.</p><h4>5. When “Time to Interactive” (TTI) is Your Priority</h4><p>There is a common pitfall in SSR called the <strong>“Uncanny Valley.”</strong> This is the period where a user can <em>see</em> the page (thanks to the server-rendered HTML) but cannot <em>click</em> anything because the JavaScript hasn’t finished loading and “hydrating” the page.</p><p>If your JS bundle is massive, SSR can actually frustrate users. They see a button, they click it, and… nothing happens. In some cases, a well-optimized CSR app with a loading spinner is a more honest and less frustrating user experience.</p><h3>The Verdict: Choose the Right Tool for the Job</h3><p>SSR is a powerful tool, but it’s a heavy one. Before you default to it for your next project, ask yourself:</p><ol><li>Does this page <em>really</em> need to be indexed by Google?</li><li>Is the data so dynamic that it cannot be statically generated?</li><li>Am I prepared to manage the server overhead and potential “Uncanny Valley” issues?</li></ol><p>If the answer is “no,” you’ll likely find that a Vite-powered SPA or a static build is faster, cheaper, and much easier to maintain.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7199b95a449c" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>