ReactTypeScriptReduxTailwind CSSWebSocketsREST APIs

The Trading Pit: Trader & Investor Platform

Built the product experience for a funded trading platform that connects traders and investors in one secure, data-rich ecosystem, handling complex financial UIs and real-time market data.

Client

The Trading Pit

Timeline

8 months

My Role

Senior Frontend Engineer

The Trading Pit: Trader & Investor Platform
01 — Problem

Building Trust at the Speed of Financial Markets

The Trading Pit needed to feel like a professional-grade financial platform, not a startup side project. Traders evaluate tools in seconds; if the UI feels slow, unclear, or untrustworthy, they leave. The team had a strong backend and a clear product vision, but needed a frontend that matched the quality of the financial data underneath.

The challenge was twofold: rendering complex financial data (account balances, trading history, live P&L, challenge progress) clearly and accurately while keeping interactions fast and responsive across a large, state-heavy application.

  • Multiple interconnected data domains: accounts, challenges, payouts, trading history, leaderboards
  • Real-time data feeds that needed to update without causing disruptive re-renders
  • Strict financial accuracy requirements, display bugs in P&L or account equity could cause support escalations
  • Responsive across desktop trading setups and mobile review sessions
  • Design language needed to convey professionalism and build trader trust from first interaction
02 — Architecture

Architecture: State Management at the Center

With this many interconnected data domains, Redux was the right choice, not because of its boilerplate, but because the predictable state tree and developer tooling (Redux DevTools) made it possible to trace exactly what data drove each UI decision. For a financial product where a bug in displayed numbers could damage user trust, that traceability was worth the overhead.

TypeScript was non-negotiable. Every API response was typed, every store slice had typed state, and every component received typed props. This eliminated a whole class of runtime errors common in financial UIs, wrong number format, undefined field access, incorrect field mapping from API to display.

For real-time data, WebSocket connections were managed through Redux middleware, normalizing incoming updates into the existing state structure without triggering unnecessary renders elsewhere in the tree.

Key technical decisions

Redux + TypeScript

Complex cross-domain state (accounts, challenges, positions, payouts) required a single source of truth with full type safety. Redux DevTools provided the auditability needed for financial debugging.

Normalized state shape

API responses were normalized into entities + IDs on ingest, preventing duplicate data and allowing O(1) lookups anywhere in the component tree without prop drilling.

Component-level memoization

Real-time feeds meant constant state updates. React.memo and useMemo were applied systematically at high-frequency update boundaries to prevent cascade re-renders across the page.

Design system foundation

Built a shared Tailwind component library (tables, badges, charts, forms) used across all dashboards. This enforced visual consistency and sped up feature development significantly.

03 — Outcome

Outcome

Delivered a professional-grade trading platform UI that matched the quality expectations of the financial audience. The product launched to positive reception from traders and served as a key differentiator in a competitive funded trading space.

8 months
End-to-end delivery
from design system to production
Zero
Financial display bugs
post-launch in 3 months
Real-time
P&L and position updates
via WebSocket integration
100%
TypeScript coverage
across all frontend code

Need something similar?

I take on complex full stack projects, AI integration work, and data platform development.