Tools

TanStack

Query, Table, and the rest — data fetching and UI primitives that just work.

The TanStack libraries handle the tedious parts of frontend development so I can focus on the actual product.

What I use:

  • TanStack Query — Server state management with caching, background refetching, and optimistic updates. Eliminates most of the boilerplate around data fetching.
  • TanStack Table — Headless table logic for sorting, filtering, pagination, and column management. I bring my own UI; it handles the state.

Framework-agnostic, well-documented, and maintained by people who clearly use their own tools. Every project I touch ends up with at least one TanStack library.

When I use it

  • Data-heavy UIs with async fetching, cache concerns, and mutation flows.
  • Complex table interactions where state logic should stay headless and reusable.
  • Projects where predictable server-state behavior is more important than custom state wiring.

When I avoid it

  • Very simple pages with one-off fetches and no meaningful cache lifecycle.
  • Teams that do not need the abstraction level yet.
  • Cases where introducing a dependency adds more complexity than it removes.

One real example

In applications with many concurrent backend interactions, I use TanStack Query to keep cache/refetch behavior explicit and reduce custom fetch-state boilerplate.