In reply to @mitranim "Sadly there _is_ an": I never really got the hype around SSR. It's pretty irrelevant for SEO these days since most crawlers run full blown engines and render the entire page even if it's fully dynamic. The time-to-first-paint is only realistically relevant if the runtime JS is uncached; and it often is adverse to UX because in a lot of frameworks, interaction (clicks etc) doesn't work until the component is hydrated. It complicates the architectural requirements and the codebase since you now have to be worrying about two different states where your component can be rendered, and at least when I was mucking around with SSR, some components randomly borked when rendered server-side. It feels like a lot of work for not much benefit