From Latency to Instant: Modernizing GitHub Issues Navigation Performance
Delays to instant loading: GitHub Issues' innovative approach
1The Latency Problem
Navigation delays in GitHub Issues were a significant problem disrupting developers' flow. Even small delays accumulated, reducing efficiency. This issue stemmed from unnecessary data fetching costs.
2New Approach
GitHub focused on the client side to solve the problem. They adopted a strategy of instant rendering with local data and background revalidation. This allowed users to experience faster performance.
3Client-Side Caching
A client-side caching layer backed by IndexedDB was created. This provided faster access to data and reduced unnecessary requests.
4Preheating Strategy
A preheating strategy was developed to increase cache hit rates. This allowed users to access needed data more quickly.
5Service Worker Integration
Service worker integration made cached data usable even during hard navigations. This significantly improved navigation speed.
6Performance Metrics
HPC (Highest Priority Content) metrics were used to measure user-perceived speed. This showed how quickly page content was rendered.
7Navigation Types
Three main navigation types were identified: Hard, Turbo, and Soft navigations. Each was analyzed separately for performance.
8Optimization Results
Optimizations resulted in significant improvements in navigation speeds. Speed became the default for most users.
9Trade-Offs
This approach has some trade-offs. For example, client-side processing increased while server load decreased.
10Next Steps
GitHub continues to work on making speed the default across all navigation paths. This will further enhance user experience.
11Tips for Other Applications
These optimizations are directly applicable to data-heavy web apps. Speed improvements can be achieved without waiting for a full rewrite.
12Web Performance in 2026
By 2026, speed will be a competitive standard. For developer tools, latency will be a measure of product quality.
Original article: GitHub Engineering — GitHub Issues Navigasyon Performansını Modernize Etme