I do this in my app, primarily for offline access but it also benefits from faster loading times.
See this thread for some info on how I do this as well as a bunch of related code (based off of ground:db). You’ll have to adapt it for your own needs though.
FWIW, you are building in offline access, at least in terms of your data store. Of course, it won’t be usable offline if you don’t have a service worker, but whatever you implement in code for the data will probably be the same as if you were going to want to have offline access.