Offline detection service
Data is cached on LocalStorage