Skip to content

Architecture

The window manager, the program registry and the data layer with its provider interface and relay.

ZK OS is a TanStack Start app (React 19, Vite, Tailwind CSS 4) with a client-only desktop.

Program registryWindow managerDock, Launcher, desktop icons, palette
ProgramsData layer (fetcher)ZK OS relayProviders

Window manager#

Windows, focus order, minimise, maximise, snapping and overlays live in one persisted store. The shell chrome (menu bar, dock, overlays, widgets) is separate from programs, and any component can open an overlay through the store.

Program registry#

Every program is one entry in the registry:

ts
{ id: "pool", title: "Pool", icon: "pool", width: 1120, height: 740, component: Pool, desktop: true, badge: "Proof of concept" }

The dock, Launcher, desktop icons and command palette all read from the registry, so adding a program is one entry. Heavy programs such as FractalNets are lazy loaded.

Data layer#

  • A client fetcher adds caching, in-flight dedupe and per-source queues.
  • Market data goes through a MarketProvider interface with GeckoTerminal primary and DexScreener fallback.
  • Server routes act as a read-only relay: /api/public/proxy for allowlisted REST paths and /api/public/rpc for chain reads, with queueing, caching and Retry-After handling. See Data and methodology.

Last updated 2026-09-28