Whenever I come across a product that's client-heavy with real-time data, I open DevTools. Not to find bugs, just to see how it's built. How the sockets are structured, what drives the renders, where the performance headroom is. It's how I learn.
Polymarket being a prediction market platform where data across every page is real-time, hundreds of markets updating constantly, responsiveness is critical for users placing positions. So I wanted to measure INP (Interaction to Next Paint) across various interactions in the product.
I kept DevTools open and went through the entire product. Every interaction I could find inputs, buttons, comments, navigation, filters felt snappy.
Then I hit the sports page.
The INP spiked. First time I clicked across the sport tabs it touched 2 seconds. I tried a few more times, consistently landing between 2 and 3 seconds.

What made it interesting was the breakdown:
| Phase | Duration |
|---|---|
| Input delay | ~2,397ms |
| Processing duration | ~32ms |
| Presentation delay | ~27ms |
99% of the time is input delay. The click handler runs in 30ms, React renders in 33ms, both completely fine. The browser just couldn't start processing the click for 2+ seconds. Something else was holding the main thread.
I ran the same test across every other section.
| Category | INP | Behavior |
|---|---|---|
| Sports | 2,000–3,000ms | Completely unresponsive on tab clicks |
| Esports /live | ~1,000ms+ | Similar lag |
| Geopolitics | < 50ms | No lag |
| Breaking news | < 50ms | No lag |
| Crypto | ~125ms | No lag |
I recorded a Performance trace while navigating across a few sport tabs, clicking between NBA, NHL, UCL, CBB.

The Main thread was completely packed with long tasks marked in red. I clicked into one and followed the call stack down.