Channel individual design

My extensions actually do this.

The streamer has the option to upload an own image (hosted on my EBS) for the background and on one extension the config page also has a color picker to customize the color of the texts.

Upon initialisation of the panel I fetch the config from my EBS and just set the according CSS attributes (background URL, text color, etc.) via JavaScript to the values from the config - pretty much like you suggested yourself.

If you don’t have an own EBS you can use the configuration storage service the Twitch API offers.