React tree · server + client
Toolchain
connections HTTPS edge rsc reads apiFetch GET /api/demo ui state push → deploy You browser Vercel Vercel hosting / cdn Next.js 16 app router / ssr React 19 server components TanStack TanStack Query server state Route handlers /api/demo/* zustand client state apiFetch + zod parsed responses pnpm packages GitHub GitHub source / releases Turbopack dev / build Biome lint & format Tailwind v4 tokens / theme request path out of bandhover to isolate · click to pin · esc to release
Pick a box to read why it is in the stack.
This tab is one data file: thirteen nodes, eight edges, three regions. The renderer never learns which system it is drawing, so the honest test of the kit is whether a different stack — different shape, different nesting, an arrow that turns a corner — needed a single change to it. It did not.
TanStack Query is the only thing allowed to hold server data; zustand holds what never came from a server. Those two boxes sit side by side because the boundary between them is a rule in this repo rather than a habit — and the arrow from apiFetch to the route handler exists because no component here calls fetch itself.
Region tints come from the chart scale and every edge from --primary, so this diagram is repainted by the settings drawer along with the rest of the site. It is also the reason the regions are not hardcoded orange and blue like the reference: a colour that cannot follow the theme becomes a fourth thing to maintain.