Railway moved 200+ routes off Next.js onto TanStack Start in two pull requests. Their builds dropped from 10+ minutes to under 2 minutes. Inngest made a similar move shortly after.
This isn't "Next.js is bad," it's a tooling mismatch. Client-heavy dashboards and real-time apps don't get much out of a server-first App Router. Server Components add overhead when 95% of your UI is already client-side.
What's Inside
- The two-PR migration strategy Railway used (decouple from Next.js first, swap the framework second)
- Converting routes: Next.js
[bracket]syntax to TanStack Router's$param - Replacing
next/imagewith@unpic/reactor CDN-based image transforms - Setting up Nitro for redirects, security headers, and caching rules
- What you actually give up in the move, and how to mitigate it
- Updated CI/CD pipeline for the new
.output/build directory
If your app is a client-heavy dashboard or internal tool fighting the App Router more than benefiting from it, this one's worth the read.
Full guide: https://devencyclopedia.com/blog/nextjs-to-tanstack-start-migration
Top comments (0)