Why Genesis chose TanStack over Next.js
The technical and philosophical reasons Genesis is built on TanStack Start and TanStack Router.
When Genesis started, the obvious choice was Next.js. It's battle-tested, has a massive ecosystem, and most developers already know it. So why TanStack Start instead?
Type safety all the way down
TanStack Router is the only router that is genuinely type-safe end to end. Every route, every param, every search param: fully typed, with autocomplete and compile-time errors.
With Next.js, you're still writing params.slug as string and hoping for the best. With TanStack Router, the type system knows the shape of your URL.
This matters more than it sounds. In a production codebase, route params touch auth logic, data fetching, and UI rendering. Type safety at the router level eliminates an entire class of bugs, which is exactly the kind of reliability a foundation should provide.
React-first data fetching
TanStack Query is the gold standard for server state management. Building on TanStack Start means it's a first-class citizen, not something you bolt on afterward.
The combination of TanStack Router and TanStack Query gives you a data loading model that is both simple and powerful: load data in route loaders, access it with useQuery, and let the framework handle deduplication, caching, and revalidation.
The framework-agnostic bet
Next.js is a framework with opinions about your entire stack: hosting, deployment, image optimization, font loading. Those opinions are sometimes right and sometimes a trap.
TanStack Start has fewer opinions. It gives you great routing, great SSR, and gets out of your way for everything else. That means you can deploy it anywhere, optimize it however you want, and swap out pieces as your needs evolve. Genesis ships with a plain Dockerfile and runs on any host that can run a container.
The tradeoffs
TanStack Start is younger. The ecosystem is smaller. Some things you take for granted in Next.js require a bit more setup here.
For a foundation you'll build on for years, those tradeoffs are worth it. Genesis absorbs the setup cost once, upstream, so every project that starts from it gets the long-term architecture without the short-term friction.