One thing that has helped me with larger dashboards is focusing on the actual bottleneck before adding optimizations. For large tables, virtualization can significantly reduce the amount of DOM being rendered, while lazy-loading non-critical components can reduce the initial workload. I’d also batch real-time updates instead of triggering a full component refresh for every event.
Caching relatively static API responses and keeping payloads small can help as well. I’ve seen similar principles matter when optimizing service-related websites, for example, even a page about sidewalk cleaning can become noticeably slower if it loads too many large images and scripts at once. So I’d apply the same idea: measure first, remove unnecessary work, and then optimize the specific bottleneck.
Chrome DevTools/Lighthouse is useful for identifying whether the main issue is JavaScript execution, rendering, network requests, or server response time before making changes.