Project Notes: Live Market Screener

This project focused on one hard constraint: market data arrives faster than the UI should render. The screener ingests high-frequency Binance updates and transforms them into stable, readable views without freezing the browser.

The problem

In volatile sessions, WebSocket throughput spikes quickly. If every event triggers immediate rendering, the interface stalls and users lose trust in the numbers they’re seeing.

Key decisions

  • Batched UI updates — incoming events are buffered and flushed on a render cycle, not on every message. This keeps the DOM stable even under heavy throughput.
  • Normalization layer — raw stream data is cleaned and deduplicated before reaching components, so symbol data stays consistent across rapid updates.
  • Client-side filtering and sorting — all scan workflows run locally, avoiding round-trips that would add latency during fast-moving sessions.

Outcome

A serverless dashboard that stays responsive under pressur, usable for active monitoring, not just static snapshots.

Stack

React, WebSockets, Binance API.

Repository

github.com/hgosansn/bnc-screener