Post on: 2024-12-12Last edited: 2026-6-12Words 396Read Time 1 min

type
Post
status
Published
date
Dec 12, 2024
slug
Nextjs-or-Remix
summary
Using OpenAI’s move from Next.js to Remix as the case study, this post compares the two React frameworks around data loading, server rendering, hydration costs, and when each one is a better fit.
tags
Website building
Tools
Development
category
Current Affairs
icon
password
paired_with
15a1d487-a2a1-80c8-bc95-e28e6d3aa48f
lang
en-US
translation_locked
source_hash
💭
In early 2024, OpenAI moved ChatGPT's frontend from Next.js to Remix, and the frontend world talked about it for a while. Next.js is the default React framework for many teams, backed heavily by Vercel. When a company at OpenAI's scale switches, the natural question is: is Remix simply better, or was it better for that specific situation?

Where The Two Frameworks Come From

Next.js was created by Vercel, then called Zeit, in 2016. It was one of the earliest frameworks that made React server-side rendering feel usable out of the box. Over time, it added file-based routing, automatic code splitting, SSR, SSG, ISR, and many other features. For many React projects, it became the default answer.
Remix arrived later. It was released in 2021 by the React Router team with a different philosophy. It leans harder on web standards, avoids extra client-side machinery when possible, and lets the browser and server handle more of the work directly. Shopify acquired it later, which brought it into more production conversations.

How The Mental Models Differ

Take a common case: loading data on the server. In Next.js, the older pages-router style looks like this:
In Remix, the same idea looks like this:
The code looks similar, but the mental model is different. Next.js treats the fetched data like page props. Remix treats data loading as part of the route itself. Each route has its own loader and action, and UI, forms, and data flow are tied to the route hierarchy.

Why OpenAI Moved

According to the Remix post about OpenAI's migration, server-side rendering time dropped from around 300ms to around 180ms. The number is interesting, but the reason matters more. Remix's "web standards plus server-first" approach can be more stable under heavy traffic. Smaller client JavaScript means faster initial load. Native form behavior also means less dependence on expensive client hydration.
ChatGPT is a high-traffic, highly interactive, state-heavy application. Every millisecond gets multiplied by an enormous number of users. In that setting, the "full-featured" nature of Next.js can become weight, while Remix's lighter approach can become an advantage.

How I Would Choose

For a personal project, blog, or marketing site, I would still usually pick Next.js without much hesitation. The ecosystem is mature, deployment is easy, and Vercel support is excellent.
For a large server-driven product, especially one where the team is willing to think in web-standard terms, Remix deserves a serious look. OpenAI's migration at least proves one thing: in the right environment, a framework that does less can save real money.

References


Loading...
How to improve user experience in AI chats?

How to improve user experience in AI chats?

This article will deeply analyze the auto-scroll mechanisms of major AI applications, examining project data and technical documentation to provide developers with a comprehensive technical guide on creating smooth user experiences while ensuring performance.


Distinguishing Saints from Sycophants and Schemers

Distinguishing Saints from Sycophants and Schemers

AI safety requires distinguishing saints from sycophants and schemers during training.


Announcement
This site is still updating…