Skip to content

Gloomberb

Tech stack: TypeScript on OpenTUI (see opentui.md) License: (see repo)

Gloomberb is a Bloomberg-Terminal-style finance dashboard implemented as a TUI on top of OpenTUI. It pushes information density hard: many small panes share the screen, each owns a slice of market state, and the user pilots between them with mnemonic command codes (DES, GP, TOP) entered through a command bar — the same muscle memory pattern Bloomberg power users have. It also ships as both a native desktop app and a terminal binary from the same TypeScript code, courtesy of OpenTUI’s renderer.

  • Dense multi-pane dashboard. Information density without clutter, every cell of the grid earning its space. KN-86’s 80×25 grid begs for the same treatment in the Bare Deck Terminal and on the mission board surface.
  • Mnemonic command-bar model (Ctrl+P + short codes). Three- or four-letter codes (DES, GP, TOP) instead of a fuzzy command palette. Faster once memorized, teachable through a built-in legend. Strong fit for KN-86 — the TERM key is already context-sensitive, and a “type a code, go to a function” entry mode is exactly what ADR-0016’s REPL/command surface wants.
  • Tiling window management. Dock, float, move, resize, gridlock. Less directly applicable to KN-86 (the device is single-cart-focused), but the gridlock concept — snap panes to the 80×25 grid — translates well to the emulator’s window-too-large case.
  • Plugin architecture as the unit of extension. Panes, tabs, columns, commands, status widgets, and data providers are all plugins. KN-86 cartridges are not plugins (they’re capability modules), but the taxonomy (pane / tab / column / command / status widget / data provider) is a useful breakdown to compare to NoshAPI’s primitives.
  • Dual desktop-app + TUI delivery from one codebase. KN-86 already ships a desktop emulator + a Pi build. Gloomberb / OpenTUI prove the single-source model works in production.
  • Command bar over menu. Ctrl+P opens an input; type a code; jump. No nested menus, no mouse hunting.
  • Mnemonic > fuzzy. Codes are stable and learnable. A fuzzy palette is more discoverable but slower for repeat use; Gloomberb optimizes for the user who’s been doing this for a year.
  • Pane focus + global commands. Local actions go to the focused pane; the command bar is global.
  • Bloomberg homage. Tight Unicode box-drawing, dense rows of numbers, status strips, ticker bars.
  • Minimal chrome per pane. Each pane has a short title and gets out of the way. The data is the UI.
  • OpenTUI’s component set. Text, Box, Input, Select, ScrollBox — composed with Yoga flexbox layout (CSS-like positioning).

Gloomberb v0.7.2 multi-pane dashboard

The shot in place (v0.7.2) is dense — worth annotating because every pane illustrates a borrowable pattern:

  • Top status strip carries the app title (Gloomberb v0.7.2), the pre-market state (PRE-MKT), and a live SPY ticker (SPY 739.3 +0.23% Pre 736.35 -0.40%) on the right edge. Exactly the use Row 0 should be put to on KN-86 — title + global state + at-a-glance live data.
  • Six panes below the status strip, each with a :: Pane Name header in a leading double-colon style: Prediction Markets, Fear & Greed (with a semicircle gauge), World Indices, #everyone chat, NVDA chart (candles + volume), Breaking News.
  • Pane-internal tabs — the markets pane runs All venues / Polymarket / Kalshi / search markets / Top / Ending / New / Watchlist along its header. Two-level tab system inside a pane.
  • Color carries semantics, not decoration. Red = down / extreme fear / negative delta; green = up / greed / positive delta; amber = neutral; cyan = informational; magenta = chat handles. Six colors, each load-bearing.
  • Bottom-left tab strip (^1 Default ^2 Monitor) shows the workspace-level tab affordance — Ctrl+1/Ctrl+2 swap layouts. Right edge shows @ vince — current user / session identity.
  • Box-drawing as scaffold. Pane separators are single-line Unicode box-drawing — the chrome stays out of the way; the data is the UI.
  • The mnemonic command bar pairs naturally with the TERM key. Sketch: TERM opens a 3–4-char code input on Row 24; type MIS to jump to mission board, SYS to system panel, LSP to REPL. Codes are documented in a built-in legend (the ? overlay, à la Perkins).
  • KN-86 is not a plugin host (cartridges are not pane plugins), but the Bare Deck Terminal is multi-tab — STATUS / CIPHER / LAMBDA / LINK / SYS. Reading Gloomberb’s pane/tab/column/command/status-widget split is useful for sharpening what a Bare Deck “tab content brief” should and shouldn’t include.
  • The Gloomberb experience depends on OpenTUI’s renderer + flexbox layout. KN-86’s text grid is integer-cell and fixed; the patterns (dense panes, command bar, focus model) transfer cleanly even though the engine doesn’t apply.