How the GitHub Issues team used client-side caching, smart prefetching, and service workers to make navigation feel instant.