JB/Portfolio← All writing
FrontendSample technical note

Where should application state live?

A sample design note using a property-management dashboard.

The scenario

A property dashboard combines remote records, filters, selection, and a multi-step editing workflow. Giving every value the same owner makes changes harder to reason about.

A useful starting point

Separate remote data from local interaction state. Explore TanStack Query for fetching and caching server records, and Redux for a client workflow that crosses several views.

The decision to document

Not every value needs a global store. Keep component-only state close to the component, and consider whether a shareable filter belongs in the URL.

Failure behavior matters

Describe what happens when a save fails, when cached records are refreshed, and when a user returns to an unfinished form. Make optimistic behavior reversible.

How I would validate it

Use a small working dashboard and a few concrete user journeys. Show loading, empty, error, and recovery states, then explain the tradeoffs in the code.

← Back to technical writing