Очень хороший пример -
devdocs.io
+ Автоматическая синхронизация
+ Хранилище -
IndexedDB
+ полный стек оффлайн приложения с большими наборами данных
+ блин, все просто: 8 api вызовов к браузеру!
Кстати, народ обычно забывает, что и WebKit, и Mozilla Local/Session Storage организованы поверх встроенного движка SQLite. Это я к тому, что некошерно хранить серьезные данные в Storage, когда есть в распоряжении мощный движок для хранения данных, не просто Key->ShortValue, а движок Key->Document (иначе обзываемый NoSQL).
Поясню разницу: в Local/Session Storage уместно хранить небольшой набор часто используемых данных с небольшими конкретными значениями, для хранения документов - используйте движок IndexedDB. Нет смысла прятать в IDB куки - обращение к Storage в этом случае значительно быстрее, но впихивать в Storage документы - это уже полное извращение, в этом случае IDB будет в сотни раз быстрее.
Вдогонку: модный некогда термин NoSQL, по сути свелся к механизмам хранения Key->Document, и современные документ-ориентированные хранилища теперь пытаются приспособить SQL к этим движкам.
Учите матчасть, потомки!