OroSoft Trading Terminal
High-Frequency Precious Metals Exchange Web Application
01. Context & Overview
As Technical Lead on a 20-engineer initiative, spearheaded the modernization of OroSoft’s flagship precious metals trading platform from a legacy desktop terminal into a sub-second, resilient web architecture serving 10–50 financial institutions.
02. The Constraints & Needs
Enterprise financial trading terminals demand zero downtime and relentless UI responsiveness:
- High-Frequency Market Ticks: Gold and silver exchanges stream hundreds of price quotes per second during market open; processing JSON deserialization on the main JavaScript thread caused UI frame drops and dropped clicks.
- Legacy Monolith Webpack Debt: Developers suffered through ~90-second cold start and rebuild loops, slowing down release cadences.
- Institutional Stability Guarantees: Trading desks execute multi-million dollar bullion trades; defects sustained per sprint had to be strictly capped below 3 bugs.
03. System Architecture & Data Flow
Off-Main-Thread Real-Time Streaming Architecture
Dedicated WebSocket stream establishes connection directly inside a background Web Worker.
Web Worker parses high-frequency market ticks, calculates spreads, and diffs state completely away from the browser DOM.
Transferable Objects pass batched state snapshots to the React rendering thread synchronized with requestAnimationFrame.
Trader order executions bypass queues and dispatch directly to institutional settlement matching engines.
04. Protocol & Sequence Lifecycle
Market Volatility Tick-to-Screen Trace
05. Benchmark & Evaluation Matrix
Platform Modernization Benchmarks
Production Metrics Across 50 Trading Desks
| Area / Decision | Conventional Approach | Chosen Solution | Trade-Off & Impact |
|---|---|---|---|
| UI Frame Rate Under Volatility | 18–24 FPS (Main-thread UI locking) | Solid 60 FPS (Web Workers offload) | Smooth Real-Time Charts |
| Frontend Build Time | ~90 Seconds (Webpack monolith) | ~10 Seconds (Vite + Vitest) | -89% CI Build Latency |
| Sprint Defect Rate | 12–18 bugs / sprint | < 3 bugs / sprint (Zod contracts) | 78% Defect Reduction |
| Active Business Coverage | Desktop-only legacy client | 10–50 Institutional desks live on web | Cross-platform Access |
06. Production Learnings & Architecture Rules
- Keep Heavy Data Out of the React Render Loop: High-frequency streaming data should never pass directly into React state on every packet; batch updates and process ticks in Web Workers.
- Modern Build Tools Compound Developer Productivity: Migrating from Webpack to Vite saved hours of waiting each week across 20 engineers.
- Strict Runtime Contracts Prevent Enterprise Incidents: Enforcing Zod validation on incoming financial schemas prevented faulty exchange payloads from corrupting trade executions.