Websockets/json are not well suited to storing binary data. Blossom basically does this, but on http, and without asking relays to participate by default.