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.
Tanner Linsley Talks TanStack Ecosystem
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.
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.
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.
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.
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
- builtTanner Linsley built TanStack Query
“The library was created by Tanner Linsley.”
0:46inReact Query with GraphQL code gen and TypescriptYouTube Verified2 sources· Talk
- metricNozzle: Founded around 2013
“I started a company with some friends shortly after that, around 2013.”
YouTube Unverified1 source· Talk
- foundedTanner Linsley founded Nozzle
“I started a company with some friends shortly after that, around 2013. It's called Nozzle.”
YouTube Unverified1 source· Talk
- builtTanner Linsley built Chart.jsversion 2.0 with Ever Timberg
“Ever and I hadn't really done anything like that before, so we teamed up and started building Chart.js 2.0.”
YouTube Unverified1 source· Talk
- builtTanner Linsley built TanStack Table
“I threw together this table component overnight and started using it internally at Nozzle.”
YouTube Unverified1 source· Talk
- builtTanner Linsley built React Static
“I couldn't find a good solution, so I built a library called React Static.”
YouTube Unverified1 source· Talk
- featureTanStack Query: Synchronizes, caches, and manages server state
“TanStack Query is a sync engine; it’s just a different, unique flavor that you put together on your own.”
YouTube Unverified1 source· Talk
- featureTanStack Table: Headless data grid logic with customizable markup and styles
“It handles all the logic for building a data grid, but we didn’t specialize in the UI, the markup, or the styles.”
YouTube Unverified1 source· Talk






