← Back to selected work
Performance Engineering

Fixing a real-time data pipeline for a trading platform

The problem. Dropping a trading platform's data refresh from 10 minutes to 1 exposed a hidden bottleneck: the UI blocked instead of showing the last good state.

What I built. Short-term, added response caching so the UI kept serving the last processed dataset while the next tick interpolated, instead of blocking, and scaled the server with a load balancer to handle the higher concurrent request volume from the shorter interval. Longer-term, since this had shipped straight to production with no way to catch it beforehand, stood up a staging environment matching production's server configuration plus load-testing scripts, so any future change to the data pipeline gets load-tested under realistic traffic before it ships.

A decision worth noting. Treated the blocking UI as a caching problem rather than a raw compute problem: the interpolation itself didn't need to get faster, the app just needed to never show nothing while it ran. That reframing is what turned a response-time fix into a permanent process change instead of a one-off patch.

The outcome. Response time improved by close to 90%, down to just the time needed for actual processing, and users stopped hitting the loading-state block entirely. Still running on that setup today.

CachingLoad BalancingStaging EnvironmentLoad Testing

Working on something similar? I'd like to hear about it.

Get in touch