That is fine, you can load an image at runtime and create sprite asset from that. There’s an example here you can adapt: [SOLVED] Create Sprite programmatically - #8 by yaustar
This part you will need to support as part of the app. I’m guessing you can use the browser’s localstorage Window: localStorage property - Web APIs | MDN to store the image in some format and grab it again the next time the user runs the app.
If you need it to be tied to the user so that it works across computers, you will need to store it in some user account system that is in the cloud.