WhoBuilt

Tanner Linsley Talks TanStack Ecosystem

Apr 9, 2025· 1 h 21 min· 2.7K views·Watch on YouTube

Speaker

Tanner Linsley of TanStack joins Callstack’s React Universe on Air to discuss his open-source journey and the TanStack ecosystem with the host.

Open source grew from practical needs

Linsley traces his interest in open source to finding a legal, free alternative to software piracy. At Nozzle, he and Ever Timberg took on Chart.js 2.0 after its original maintainer handed over the project. Later, he built React Table to meet Nozzle’s need for a data grid, then open-sourced it so others could use and improve it.

React Query addressed a data synchronization problem

Nozzle’s application depended on large amounts of API data that Redux made difficult to keep current. Linsley built hooks to refetch data as users navigated, then developed a query cache with `useQuery` and `useMutation` APIs. He found that describing the distinction as server state versus client state helped developers understand why the library was useful.

TanStack libraries share a flexible design

Requests from users and concerns about React changes led Linsley’s team to make Query and Table framework agnostic, with TypeScript cores and framework adapters. He says headless design lets developers use library logic with their own markup and styles, while TypeScript makes contracts explicit for refactors and collaboration. He also favors avoiding dependencies where practical, though he notes Start relies on tools such as Vite.

Router makes the URL a shareable state store

At Nozzle, dashboard users needed URLs that preserved filters and views so colleagues could open the same data context. Linsley first built on React Router, then created TanStack Router when he needed more control over search parameters and type safety. He describes the URL as a way to restore an experience after refresh and share it with another person.

Start adds server capabilities to a client-first router

TanStack Start builds on Router with server functions, API routes, server-side rendering, hydration, and streaming. Linsley positions it for applications that want to keep a client-first approach while optionally using server features. He also describes an approach to React Server Components in which their serialized stream could be managed and cached with TanStack Query’s existing invalidation tools.

Takeaways

  • Build open-source tools around problems you already face, then use real product needs to guide their design.
  • Separate server data from client state when that distinction makes an application’s data flows easier to reason about.
  • A headless library can provide reusable logic while leaving teams free to control their interface.
  • Put enough application state in the URL to restore and share useful views.
  • Treat server-rendered component output as data that may need caching and granular invalidation.

Mentioned in this talk

Search inside this talk

What was claimed 18

Show all 18 facts

Related talks

Tanner Linsley Talks TanStack Ecosystem, Tanner Linsley · WhoBuilt