I built something similar[1] a while ago, but the urls are still too long for sharing without a shortener. I'm using lz-string[2].
[1] https://www.siloz.io
[2] https://github.com/pieroxy/lz-string