Offline PWA with no need to sync

My PWA is essentially read-only. If someone is about to get on a flight or otherwise has poor data coverage, I’d like to pursue an offline mode. How/where does storage take place if I make a number of API calls in advance of going offline?