TanStack DB

1 min read Original article ↗

A third path

Stop choosing between endpoint sprawl and loading everything.

Normalized collections keep the backend shape simple. Components can ask a fast local query engine for the exact joined, filtered, and aggregated view they need.

01

Endpoint per screen

The backend inherits every view and relationship the product invents.

02

Load everything

The browser receives broad payloads and repeatedly recomputes derived views.

03

Collections + live queries

Keep normalized records locally and ask for each view as a reactive query.

Live relational queries

Describe the view. DB keeps the result current.

Queries can filter, project, join, include, order, group, and aggregate across collections. Differential dataflow updates affected results incrementally as the underlying records change.

On-demand sync

The component query can shape the request.

With on-demand sync, predicates, ordering, limits, and offsets can reach the collection loader. Translate them into API parameters and load only the subset active views require.

Brownfield by design

Adopt collections without replacing the backend.

Start from the data source already in production. Components use the same live-query model whether records arrive through TanStack Query, an API, local persistence, or a sync engine.