Where Data Lives: Frontend Data-Fetching & State Architecture
The biggest architectural decisions in a modern frontend are about where data lives and when it's fetched. Start by separating server state (an async cache of data you don't own) from client state, then reason through normalized vs. document caches, request deduplication, optimistic updates and rollback, request waterfalls vs. parallel fetching, prefetch, staleTime tuning, and how Suspense reshapes component design. Aimed at the React/TanStack Query stack where these are daily decisions.