Skip to content

Platform

Every section, every panel, and what feeds it.

Sections and panels are declared once, in one registry. The rail, the command bar's autocomplete, the keyboard leader map and every route read that same declaration, so a section cannot exist in the navigation and not in the router.

CRYOrder book depthSCHEMATIC · NO DATA
—
—
—
—
—
—
—
—
—

Level 2 needs a direct exchange feed. No free source publishes one, so this book stays hollow.

What is bound, cluster by cluster

Coverage is counted, not claimed.

Tape

6 sections · 4 awaiting a connector

Context

5 sections · 5 awaiting a connector

Engine

7 sections · 16 awaiting a connector

Desk

2 sections · 3 awaiting a connector

System

2 sections · 6 awaiting a connector

Panel anatomy

The panel decides, not the widget.

Each panel owns its own header, banner, body and bindings. A widget never decides whether it has data — the panel does, and it picks the honest render.

Header

Index for the 1–9 focus shortcut, the panel title, and one dot per bound source showing the worst state among them.

Banner

Appears only when a feed is partial or down, and says which of the two it is in words.

Body

The widget, or the hatch. Never both, and never a shimmer standing in for either.

Bindings

Declared per panel. Staleness is derived from the clock so a panel demotes itself without a re-render.

Export

Copy and export are disabled on panels fed only by non-redistributable sources.

Principles

Four rules the frame never breaks.

One registry

Rail, command bar, leader map and router all read the same declaration. Adding a section is one entry, not five edits in five files.

Desktop-only is declared

Correlation matrices, world maps and linkage graphs mark themselves desktop-only. Below their minimum width they say so rather than misrepresenting the data.

The page never scrolls

The frame is the viewport; panels scroll inside it. Height uses dynamic viewport units because mobile browser chrome makes the static ones lie.

Two themes, one product

Terminal is the dark theme the product is designed in; Canon is the light remap of the same token names. A third theme is one token block and zero component edits.

The registry, in full

Twenty sections, declared once.

COKCockpitThe one screen you leave open all dayTape · gc · 7 panels
  • Global tapetickeryfinance · CoinGecko · Frankfurter FX
  • Cross-asset heatheatyfinance · CoinGecko · FRED · Frankfurter FX
  • Engine's loudest callsfanGodEngine
  • WireslistGDELT · RSS wires
  • Sessionskpiwire in — client-side clock
  • Source healthboardwire in — wft/api/routes/sources.py
  • Next eventslistEcon calendar
MKTMarketsEquities and indices — the workhorse gridTape · gm · 4 panels
  • Instrumentsgridyfinance · GodEngine
  • Price + forecastfanyfinance · GodEngine
  • Sector treemaptreemapyfinance
  • Breadthkpiyfinance
FXFXCross-rate matrix and carryTape · gf · 4 panels
  • Cross ratesmatrixFrankfurter FX · ECB
  • Pair + forecastfanFrankfurter FX · GodEngine
  • Rate differentialsgridFRED · ECB
  • Central bank calendarlistEcon calendar
RTSRatesSovereign curves and what they implyTape · gr · 5 panels
  • Yield curvescurveFRED · US Treasury · ECB
  • 2s10s / 3m10ychartFRED · US Treasury
  • Tenor gridgridFRED · US Treasury
  • Real rateschartFRED
  • Curve forecastfanFRED · GodEngine
CMDTCommoditiesEnergy, metals and agricultureTape · go · 4 panels
  • Complexesgridyfinance · GodEngine
  • Spot + forecastfanyfinance · GodEngine
  • Term structurechartwire in — wft/sources/futures_curve.py
  • Commodity ↔ FXmatrixyfinance · Frankfurter FX
CRYCryptoThe 24/7 bookTape · gy · 4 panels
  • Top 100gridCoinGecko · GodEngine
  • Pair + forecastfanCoinGecko · GodEngine
  • DominancechartCoinGecko
  • Order book depthladderwire in — wft/sources/exchange_l2.py
MACMacroThe economy, country by countryContext · ga · 4 panels
  • WorldmapWorld Bank · FRED
  • Country detailgridWorld Bank · FRED
  • Series compare + forecastfanFRED · GodEngine
  • Release vs forecastgridwire in — wft/sources/imf.py, wft/sources/oecd.py
WIRWiresFinancial newsflow, machine-readContext · gw · 4 panels
  • WirelistGDELT · RSS wires
  • Entities mentionedgridGDELT
  • Tone and volumechartGDELT
  • Source mixkpiGDELT · RSS wires
FILFilingsPrimary documents, unfilteredContext · gi · 4 panels
  • EDGAR feedgridSEC EDGAR
  • FilingreaderSEC EDGAR
  • Form frequencychartSEC EDGAR
  • XBRL factsgridwire in — wft/sources/xbrl.py
CALCalendarWhat's scheduled to move thingsContext · gl · 4 panels
  • This weekgridEcon calendar
  • Event detailkpiwire in — wft/sources/consensus.py
  • CountdownlistEcon calendar
  • Surprise vs reactionscatterEcon calendar · FRED
SCRScreenerAsk the whole universe a questionContext · gs · 4 panels
  • Queryformwire in — wft/api/routes/screener.py
  • Resultsgridyfinance · CoinGecko · FRED · GodEngine
  • Saved screenslistwire in — localStorage at M1
  • Distributionchartyfinance
FCSTForecast LabForecast anything, with quantiles and a baselineEngine · ge · 5 panels
  • Seriesformyfinance · FRED · CoinGecko
  • ForecastfanGodEngine
  • Horizon and transformformwire in — client-side
  • ProvenancekpiGodEngine
  • Runs for this seriesgridGodEngine
RECTrack RecordThe engine's report card — resolved forecasts, scoredEngine · gk · 4 panels
  • ScorekpiGodEngine
  • Forecast ledgergridGodEngine
  • CalibrationchartGodEngine
  • Skill by horizonchartGodEngine
DIVDivergenceWhere the engine most disagrees with the alternativeEngine · gd · 4 panels
  • DisagreementgridGodEngine · yfinance
  • Observed / engine / baselinefanGodEngine · yfinance
  • Does disagreeing pay?scatterGodEngine
  • Engine vs analyst consensuschartwire in — wft/sources/consensus.py
SCNScenariosBranching futures with probability massEngine · gn · 4 panels · no connector at M1
  • Scenario treetreewire in — wft/godengine/client.py → /api/resolve/stream
  • Branch detailkpiwire in — wft/godengine/client.py
  • Probability mass over timechartwire in — wft/godengine/client.py
  • Which branch are we in?listwire in — wft/godengine/client.py
SIMSimulationPush a shock, watch it propagateEngine · gu · 5 panels · no connector at M1
  • Shock composerformwire in — wft/api/routes/sim.py (WebSocket)
  • Propagationnetworkwire in — wft/api/routes/sim.py
  • Impact by assetchartwire in — wft/api/routes/sim.py
  • Sensitivitychartwire in — wft/api/routes/sim.py
  • Tick timelinetimelinewire in — wft/api/routes/sim.py
CTGContagionCorrelation topology of everythingEngine · gg · 5 panels
  • Correlationmatrixyfinance · CoinGecko
  • Linkage graphnetworkyfinance · CoinGecko
  • Rolling correlationchartyfinance
  • By regimegridyfinance
  • Systemic riskkpiyfinance · CoinGecko
REGRegimesWhat kind of market this isEngine · gx · 5 panels · no connector at M1
  • Regime timelinetimelinewire in — wft/api/routes/regimes.py
  • Feature contributionchartwire in — wft/api/routes/regimes.py
  • Transition matrixmatrixwire in — wft/api/routes/regimes.py
  • Performance by regimegridwire in — wft/api/routes/regimes.py
  • Current regimekpiwire in — wft/api/routes/regimes.py
WCHWatchlistsYour lists, with engine columns onDesk · gt · 3 panels
  • Listslistwire in — localStorage at M1; wft/api/routes/watch.py at M2
  • Membersgridyfinance · CoinGecko · GodEngine
  • Selectedfanyfinance · GodEngine
ALRAlertsArmed conditions, including engine-conditioned onesDesk · gp · 3 panels
  • New alertformwire in — localStorage at M1
  • Armedgridyfinance · CoinGecko · GodEngine
  • Recently firedlistwire in — wft/api/routes/alerts.py at M2
SRCSourcesEvery connector, its state, and what it feedsSystem · gv · 3 panels
  • Connectorsboardwire in — wft/api/routes/sources.py
  • Detailkpiwire in — wft/api/routes/sources.py
  • Sections fedlistwire in — client-side
SETSettingsTheme, density, timezone, keymapSystem · gz · 3 panels
  • Appearanceformwire in — client-side
  • Data and unitsformwire in — client-side
  • Keyboardlistwire in — client-side