Navigating Framework Shifts: From Next.js to TanStack
Exploring the migration from Next.js to TanStack Start in T3 Chat for scalability and performance.
Written by AI. Bob Reynolds

Photo: Theo - t3․gg / YouTube
Navigating Framework Shifts: From Next.js to TanStack
In the ever-evolving landscape of web development, Theo from t3.gg made the bold move to transition T3 Chat from Next.js to TanStack Start. This is not just a tale of changing frameworks but a deeper reflection on the intricate dance of balancing innovation with reliability.
Why Move Away from Next.js?
Theo's decision to pivot away from Next.js wasn't born out of dissatisfaction with the framework itself. In fact, Next.js has been a reliable workhorse for many large-scale applications. However, T3 Chat's unique needs called for more than what Next.js could offer. The goal was to create an application that was not only fast but maintained a synchronized server-client architecture—a crucial factor to avoid data discrepancies.
“I wanted it to be as fast as possible... you click things, they happen immediately,” Theo said, underscoring the importance of speed and synchronization.
While Next.js offered a robust platform, it required significant workarounds to achieve client-side performance goals. Theo's team had to employ hacks to make React Router work effectively, hinting at a misalignment between the tool's intentions and the project's requirements.
Enter TanStack Start
TanStack Start came into play as a solution tailor-made for T3 Chat's needs. It allowed for a more seamless integration of client-side rendering, aligning with Theo's vision for a snappy, reactive user experience. The decision was not without its challenges. As Theo noted, “We’re patching TanStack Start to add things we need... it was worth it though.”
This move highlights a critical aspect of technology choices: the need to adapt tools to fit specific project goals rather than bending the project to fit the tool. It’s a lesson many developers have learned the hard way.
Implications for the Developer Community
For those who have weathered the storms of past technological shifts, Theo's migration story resonates. It serves as a reminder that while frameworks evolve, the fundamental challenge remains the same: choosing technology that supports long-term scalability and developer happiness.
Developers often face the temptation to chase new trends without considering whether these technologies align with their project’s core needs. Theo’s experience underscores the value of 'boring tech'—tools that are stable, reliable, and perhaps a bit old-fashioned but get the job done efficiently.
The Bigger Picture
Theo's journey from Next.js to TanStack Start is more than just a technical migration; it’s a reflection on strategic decision-making in software development. It encourages developers to look beyond the surface-level features of a framework and consider how it fits into the larger ecosystem of their application.
As we look to the future, this story serves as a call to action for developers: evaluate your tech stack not just for its current capabilities but for its potential to grow with your ambitions. In Theo's words, “I wanted to bet on boring tech... super reliable.” Sometimes, the most innovative move is to embrace the tried and true.
By Bob Reynolds
We Watch Tech YouTube So You Don't Have To
Get the week's best tech insights, summarized and delivered to your inbox. No fluff, no spam.
More Like This
How Node.js Cut Memory Usage in Half With One Change
A year-long collaboration between Cloudflare and the V8 team enabled pointer compression in Node.js, halving memory usage with minimal performance cost.
TypeScript Is Getting Rewritten in Go. Here's Why That Matters
Microsoft is porting TypeScript to Go for TypeScript 7, promising 10x speed improvements. Here's what developers need to know about versions 6 and 7.
CSS Revolution: 2025's Game-Changing Features
Explore 2025's CSS advancements reshaping web dev with new features, APIs, and customization options.
Unleashing Creativity: Build a Fantasy GitHub App
Explore building a fantasy creature app with GitHub stats, combining creativity and tech.
Laravel Cloud Turns One With Dad Jokes and Giveaways
Laravel celebrated its cloud platform's first anniversary with a 12-hour livestream mixing technical discussion, community engagement, and relentless dad jokes.
JavaScript's Bloat Problem Is Worse Than You Think
Why your web app downloads millions of lines of unnecessary JavaScript—and who's responsible for the mess we're in.
Anthropic's Claude Design: The Latest Bid to Automate Creativity
Anthropic launches Claude Design, an AI tool that generates visual assets from text prompts. But can conversation replace craft in design work?
What Happens When AI Gets Root Access to Your Computer
A YouTuber gave an AI agent root access to his Linux system. The results reveal both the promise and the friction of our autonomous software future.
RAG·vector embedding
2026-04-15This article is indexed as a 1536-dimensional vector for semantic retrieval. Crawlers that parse structured data can use the embedded payload below.