Существует несколько вариантов хранения данных в браузере пользователя - выбирайте вариант в зависимости от требований вашего проекта.

Используйте CacheStorage API для хранения данных для офф-лайнового доступа.

IndexedDB - лучший выбор для хранения большого количества приложений или пользовательских данных.

Файлы cookie по-прежнему могут использоваться для хранения минимального количества данных, необходимых серверу для определения состояния.

Локальное и сессионные хранилища можно использовать для хранения минимального объема данных. API локального хранилища и сессионного хранилища синхронны, поэтому они влияют на рендеринг пользовательского интерфейса. Но включить API в проект несложно.

Демонстрация хранилищ браузера доступна по ссылке.