Every desk, every bot, every extension you've built — on one screen. The signal desks feed it, the bots trade it, the risk engine governs it, and the alerts keep you ahead of it. This is what it looks like when it all runs together.
This entire dashboard is one self-contained HTML file — no build step, no framework. Open it in any editor and tailor it to show exactly what you want to watch. Every panel is driven by a plain data array; change the data, the panel re-renders.
Edit the SIGNALS, POSITIONS, BOTS, ALERTS and CAPITOL arrays at the bottom of the file. Each one drives a panel — add a row, drop a row, rename it.
Each panel is a <div class="card spanN">. Copy one to add a panel, delete one to remove it. span4 / span6 / span8 / span12 sets its width on the 12-column grid.
Swap a sample array for a fetch() to your own JSON — a broker export, your firm's feed, any API. The render functions never change.
// ===== EDIT THESE — each array drives one panel on the grid ===== const SIGNALS = [ // tag: "buy" | "sell" | "watch" | "info" {tag:"buy", body:"Your signal text — e.g. 13F new stake → mirror", when:"3m"}, ]; const POSITIONS = [ {tk:"SOXL", sub:"your bot · entry $29.10 · trail 0.75%", pnl:"+4.2%", dir:"up"}, ]; const BOTS = [ {on:true, nm:"Your Bot Name", act:"armed · 1 position"}, ]; // ===== GO LIVE — replace a sample array with your own data ===== fetch("/my-data.json") .then(r => r.json()) .then(d => { feed("signals", d.signals); feed("positions", d.positions, "pos"); }); // Add a panel: drop this into the grid, give it an id, then feed() it. // <div class="card span4"><h3>My Panel</h3><div id="mine"></div></div>
A concept of the integrated DeadCatFound operations dashboard — educational, not financial advice,
and not a live account view. It illustrates how the desks, bots and tools connect.
· Premium desks · The Bot Lab · Journal ·