02 — How it fits together

System architecture

A thin React/TanStack Start frontend over a Cesium globe, backed by a fleet of edge-cached server routes that normalize public OSINT feeds into a single schema.

OpenSkyadsb.lolairplanes.liveCelesTrak (TLE)USGS / EMSCGDELT 2.0Overpass / OSMDeFlockEdge normalizer/api/public/* · SWR cache · racingCloudflare WorkersWorkspace clientCesium globeLayer registryZustand storeSSE stream consumerHLS / camera viewer
Client
React 19 + TanStack Start, Cesium 3D engine, Zustand store for layer state, framer-motion for transitions, hls.js for live camera streams, satellite.js for SGP4 propagation.
Server (edge)
TanStack server routes deployed to Cloudflare Workers. Stateless fetchers with stale-while-revalidate caches and racing across mirror endpoints.
Data plane
No private database backs the OSINT feeds — every layer is fetched live from its public source and normalized in the edge layer. The session is the database.
Streaming
Aviation rides Server-Sent Events for incremental delivery. Other feeds use short-TTL long-poll so the globe always reflects the last 30–60 seconds of the world.

Request lifecycle

Layer toggledFetcher invokedEdge cache hit?Race mirrorsNormalize + paintFresh hits skip the race; stale hits return immediately and refresh in the background.