Shohruz Makhmudov — home / Drawing set 2026
W-06 “1%” market board — Real-time multi-chart market board (Screener) AI & automation Private

“1%” market board

Market data engineered like a product: a dozen live charts streamed through a Web Worker, with drawings, price alerts and an impulse monitor that notifies but never trades.

The “1%” board with six live Binance Spot charts — BTC, ETH, SOL and BNB on 15m, BTC and ETH on 1h — with EMA 20, volume, price-alert lines and saved drawings (Russian UI).
Mobile layout: charts stack into one column, with the drawing toolbar, OHLC / EMA legend and alert levels still available.
  1. 12-chart live board
  2. Web Worker stream, 40 ms batches
  3. Drawings & price alerts
  4. Impulse monitor — never trades
Discipline
AI & automation
Year
2026
Authorship
Own build
Status
Private
Role
Solo: product, real-time data pipeline, UI and tests.
Surfaces
Desktop board · phone layout
Languages
RU · EN
Stack
React 19 · TypeScript · vinext (Vite) · Lightweight Charts · Canvas · Web Workers · Tailwind CSS 4 · node:test
W-06.1“1%” market board Sheet 1 of 7

Survey — context and problem.

The problem

Reading the same instruments on several timeframes meant a dozen browser tabs, drawings that did not follow the chart and a page that stuttered when the market moved.

Discretionary scalping — mostly gold on five-minute charts, with crypto majors alongside — starts with watching. Setups depend on structure across timeframes, so the same instruments have to be read on several periods at once, and a move of a fraction of a percent in a minute matters.

Browser charting sites are built for one chart at a time. A dozen tabs are slow to open, drawings and alert levels do not follow a chart from one layout to another, and a busy stream makes the page stutter exactly when the market is moving.

The brief for “1%” was a personal board: many live charts on one screen, each with its own timeframe, drawings and alerts, that stays smooth with a dozen charts streaming at once and flags fast price moves — while every trading decision stays with a person. The execution and signal side of the same workflow is shown on its own card (W-08).

W-06.2“1%” market board Sheet 2 of 7

Authorship — who built what.

Own buildSolo: product, real-time data pipeline, UI and tests.Visibility: Demo data AI-assisted — I build with AI coding agents — Codex, Claude Code, Antigravity. Spec, architecture decisions, review, QA, deployment and handover are mine.

What was mine

  • “1%” board: product, React interface and Canvas charts
  • Streaming layer: one combined WebSocket in a Web Worker, 40 ms batching, reconnect with backoff
  • History proxy with symbol and interval validation
  • Drawings, price alerts, palettes and the minute-impulse monitor
  • Tests for aggregation, worker races, reconnects, EMA, timeframe boundaries and single-fire alerts

AI in the loop

I build with AI coding agents — Codex, Claude Code, Antigravity. Spec, architecture decisions, review, QA, deployment and handover are mine.

Agents on this project: Codex · Antigravity

Credits & notes

  • Charts: TradingView Lightweight Charts. Market data: Binance Spot public streams. The board’s layout was inspired by Scalpboard; no Scalpboard code is used.
  • The MT5 Expert Advisor, Telegram bot and Pine signal suite used alongside the board are shown on their own card (W-08).
  • An engineering case, not investment advice. No performance or backtest results are claimed, and no account data is shown.
W-06.3“1%” market board Sheet 3 of 7

Plan — the system, drawn first.

The solution

A personal board of up to 12 live charts: Binance Spot streamed through one WebSocket in a Web Worker, batched every 40 ms and drawn on Canvas, with drawings, price alerts, eight palettes and an impulse monitor that only notifies.

The “1%” board is one screen for watching many markets. Candle history comes through a small server proxy that validates the symbol and interval and caches briefly; live data arrives through one combined Binance Spot WebSocket inside a module Web Worker, which aggregates trades into candles, de-duplicates volume by trade ID, reconnects with backoff and posts batched updates every 40 ms. Each chart is drawn on Canvas with TradingView Lightweight Charts on animation frames, while React only updates metadata a few times a second. A board holds 1–4 columns and up to 12 charts across twelve timeframes from 1m to 1w — shared or independent per chart — with focus and full-screen modes. Drawings and price alerts are saved per chart and instrument, eight candle palettes and independent light and dark themes change the look, and a minute-impulse monitor logs fast moves and plays a sound. It notifies; it never trades.

System schematic · Not to scale W-06.3
Users & surfaces Desktop board · phone layout RU · EN
04 · Interface React 19 · Lightweight Charts · Canvas · Tailwind 4
02 · Logic Module Web Worker · candle aggregation · trade-ID de-duplication · reconnect epochs
03 · Intelligence Minute-impulse monitor · EMA 20 · single-fire alert rules
01 · Data Binance Spot WebSocket · history proxy (validated, cached)
00 · Infra vinext on Vite · node:test · local by design

Module key

  1. Boards of 1–4 columns and up to 12 charts, with focus and full-screen modes
  2. 12 timeframes from 1m to 1w; shared or independent periods per chart
  3. Drawing tools — horizontal line, segment, rectangle — anchored to time and price and saved per chart and instrument
  4. Price alerts on level cross, set with a click on the chart
  5. Minute-impulse monitor with an event log — it notifies and never trades
  6. Eight candle palettes and independent light and dark themes
  7. EMA 20, volume, 24h high and low and a candle-close countdown on every chart
  8. Charts stack into one column on a phone, with drawings and alerts still available

Key decisions

  1. Why the stream runs in a Web Worker

    Parsing and aggregating ticks off the main thread, batching every 40 ms and drawing on animation frames keeps a dozen live charts responsive; charts that are off-screen pause.

  2. Why one combined socket

    Every symbol on the board shares one WebSocket, so adding a chart does not open another connection. Reconnects back off and are tagged with an epoch, so a late message from an old connection cannot overwrite fresh candles.

  3. Why the monitor never trades

    The minute-impulse monitor reads the stream, logs fast moves and plays a sound — it has no path to an order. Trading decisions stay with a person; execution is a separate, confirmed workflow (W-08).

  4. Why an alert fires once

    A crossed alert level fires once and records the event instead of repeating on every tick around the level; tests pin this rule down, together with reconnect races and timeframe boundaries.

W-06.4“1%” market board Sheet 4 of 7

Elevations — the desktop screens.

The “1%” board with six live Binance Spot charts — BTC, ETH, SOL and BNB on 15m, BTC and ETH on 1h — with EMA 20, volume, price-alert lines and saved drawings (Russian UI).
Mobile layout: charts stack into one column, with the drawing toolbar, OHLC / EMA legend and alert levels still available.

All elevations 04

  1. Fig. 4.1 A second 2 × 2 board — BTC, ETH, SOL and BNB on 1h — in the blue “Glacier” candle palette, with per-chart drawings and alert levels.
  2. Fig. 4.2 Settings dialog with an independent dark / light interface switch and eight candle palettes previewed as mini charts.
  3. Fig. 4.3 The same six-chart board in the light interface with the “Classic” palette, keeping drawings, EMA and alert levels.
  4. Fig. 4.4 An eight-chart, four-column board at 1920 × 1080 comparing BTC, ETH, SOL and BNB on 5m and 1h side by side.
W-06.5“1%” market board Sheet 5 of 7

Details — the mobile screens.

Every mobile screen 02

Mobile layout: charts stack into one column, with the drawing toolbar, OHLC / EMA legend and alert levels still available.
Fig. 5.1 Mobile layout: charts stack into one column, with the drawing toolbar, OHLC / EMA legend and alert levels still available.
Mobile focus mode on BTC/USDT 15m with drawings, EMA 20 and a price-alert line.
Fig. 5.2 Mobile focus mode on BTC/USDT 15m with drawings, EMA 20 and a price-alert line.
1 / 2
W-06.6“1%” market board Sheet 6 of 7

Materials schedule — the stack, and why.

W-06.6 · Materials schedule
LayerMaterialWhy
01DataBinance Spot WebSocket · history proxy (validated, cached)Public market data with no API key; the proxy checks symbol and interval before any request leaves the server.
02LogicModule Web Worker · candle aggregation · trade-ID de-duplication · reconnect epochsCandles are built off the main thread, so the interface never waits for the stream.
03IntelligenceMinute-impulse monitor · EMA 20 · single-fire alert rulesFast moves and levels are flagged by rules; nothing is ever traded.
04InterfaceReact 19 · Lightweight Charts · Canvas · Tailwind 4A dense desktop board that stacks into one column on a phone.
05Infravinext on Vite · node:test · local by designA personal tool that runs locally; tests cover worker races, reconnects, EMA and timeframe boundaries.

Stack

  • React 19
  • TypeScript
  • vinext (Vite)
  • Lightweight Charts
  • Canvas
  • Web Workers
  • Tailwind CSS 4
  • node:test
W-06.7“1%” market board Sheet 7 of 7

Completion — outcome and links.

Verified facts

live charts per board
12
Source: source code
ms batching window for the live stream
40
Source: source code
twelve timeframes, shared or per chart
1m – 1w
Source: source code

Want to see it running?

I can walk you through the live system on demo data and explain the decisions behind it.

Request a walkthrough
Next sheet W-07 Seven Lux Auto Editorial showroom website for the same dealer Commerce 2026