Если у вас все данные на клиенте будут храниться, то, наверное, лучше воспользоваться
indexedDB.
Еще можно поизвращаться с localStorage.
Я бы хранил данные на сервере, так работать с ними удобнее будет.
Получилось у вас создать файл на ПК пользователя из окна браузера?
Вероятно нет.