Jason Gordon portrait

Jason Gordon

One line at a time

React Static to NextJS Port

Jan 01, 2020 - Mar 31, 2020

This project:

  • Started with a statically generated site using React Static. A statically generated site doesn't scale well beyond a very small website with infrequent change. Needed pages to be generated dynamically in real time so changes coming out of content editing teams could be experienced in near real time.
  • Consolidated 3 codebases into 1 monorepo using yarn workspaces.
  • Organized monorepo to make inter-team work as conflict free as possible. Each team has their own package. Other packages can be versioned independently across teams' packages, based on team requirements, so new software can be released without breaking another team's work.
  • Introduced NextJS to do server side rendering so we could support webhooks from various systems, like Prismic. This enabled real time publishing, much more flexibility and control over what happens when.
  • Introduced a page caching system using Redis (AWS ElasticCache)
  • Started UI component library with Storybook
  • Server side flexibility + speed
  • React-static converted to NextJS
  • NextJS renders React server side