Use IndexedDB (and maybe workers?), because local storage has limitations (like size) that blocks users from using the app for more heavy work..