When I first finished the architecture for my Polymarket trading bot, everything looked clean on paper.
Data flowed through clear pipelines, execution was isolated, and state was fully event-driven.
Then I ran it in production.
That’s when the system stopped behaving like a design diagram and started behaving like a distributed system in the real world - noisy, inconsistent, and occasionally wrong in ways that were hard to detect.
This post breaks down the most important production issues I encountered and how they changed the way I think about building trading systems.






