Having that first response from the server to users browsers be, ya know, full of good, useful, renderable HTML is certainly better than an empty <div id="app">. You can feel it and see it in the filmstrip view of the site loading. Not to mention you need it for at least things like <meta> tags if you want your URLs to "unfurl" properly on social sites. 



Stephen and Chris jump on the podcast to discuss this journey for us as it relates to Next.js. We got it "for free" for our Ruby on Rails pages, but as we're slowly changing frameworks over the years, we've got new challenges, and some gray-hair inducing bugs.



We started on Next.js' "page router" and made changes to our Apollo Cache setup to support SSR. Then, over time, moved to the "app router" and did lots more work getting ready getting the most complex page on our site, the 2.0 editor, completely SSRd. That meant getting rid of using things like localStorage for anything view related and fighting bugs related to React somehow mounting itself to the wrong root. 



Time Jumps

CodePen Radio

CodePen Blog

427: Next.js and The Journey of SSR

JUN 2, 20260 MIN
CodePen Radio

427: Next.js and The Journey of SSR

JUN 2, 20260 MIN

Description

Having that first response from the server to users browsers be, ya know, full of good, useful, renderable HTML is certainly better than an empty <div id="app">. You can feel it and see it in the filmstrip view of the site loading. Not to mention you need it for at least things like <meta> tags if you want your URLs to "unfurl" properly on social sites. Stephen and Chris jump on the podcast to discuss this journey for us as it relates to Next.js. We got it "for free" for our Ruby on Rails pages, but as we're slowly changing frameworks over the years, we've got new challenges, and some gray-hair inducing bugs. We started on Next.js' "page router" and made changes to our Apollo Cache setup to support SSR. Then, over time, moved to the "app router" and did lots more work getting ready getting the most complex page on our site, the 2.0 editor, completely SSRd. That meant getting rid of using things like localStorage for anything view related and fighting bugs related to React somehow mounting itself to the wrong root. Time Jumps