mylittlechart console
localhost:17420 · live
77,182.50 +1.24%

The terminal that trades itself.

A desktop charting desk with a local HTTP API. Claude, your scripts, any MCP agent — open windows, draw, stream bars. Same as a keyboard.

Rust + WebGPU 48 exchanges 480+ indicators MIT open source

Multi-window dock

Float a scratchpad over a heatmap over a 2×2 grid. Agents add, split, close — without touching glass.

Streams, not polls

Candles, trades, depth on a WebGPU canvas at 60fps. Connectors run in-process. No tab throttle.

Drawings as data

Every trendline is JSON. POST to create, PATCH to style, DELETE to remove — rendered before the round-trip.

annotate_support.sh← 201 · 11ms
# draw a support line on the live BTC chart
curl -X POST :17420/v1/charts/0/drawings \
  -H "Authorization: Bearer $KEY" \
  -d '{
    "kind": "hline",
    "price": 77100,
    "label": "Support",
    "style": { "color": "gold" }
  }'
Active indicators3
EMA(20)76,580trending
RSI(14)58.4neutral
VWAP76,940near
MACD+128.5cross ↑
BB(20,2)±1,240squeeze
v0.14.3MAY 24

Drawing primitives are first-class JSON

Every annotation round-trips through the same schema the UI renders from.

release
noteMAY 12

Letting Claude run the morning scan

A pattern for agent-driven watchlist triage with tiered keys.

pattern
v0.14.0APR 30

WebGPU candles: 60fps with 200k bars

How the renderer keeps the canvas hot without a browser tab.

engine
essayAPR 18

The case for a local-first trading API

Why the bus lives on localhost and not behind someone's cloud.

essay
A

Welcome back

signed in · read-write key active

Portfolio
$48.2K
24h P&L
+2.4%
Open positions
3
API calls today
1,284
Watchlistcrypto · 4
BTCUSDT77,182+1.24%
ETHUSDT3,912+0.42%
SOLUSDT184.3+2.88%
BNBUSDT712.1−0.18%
API keys2 active
mlc_live_8x2qf…FULLused 2m ago
mlc_bot_a91k4…TRUSTEDused 1h ago
mlc_view_z3p…READused 3d ago