what you’re saving in the db is just json, you’re not bound to using draft-js for that.
So there are a couple of downsides I can see when using a custom data format:
- draft.js already has a bunch of tools for converting data back and forth, yours you need to create and maintain
- you’re relying on a data structure that you created for your particular usecase rather than a data-structure that exists within the public domain
Frictionless is often better in my opinion. One of the most common mistakes I see people making when they build apps is to optimise too early.
In the end, it is just JSON, and like your custom format, it can be converted for any usecase. You can always migrate as well if you want to get rid of the data, since again, there’s a bunch of conversion utilities out there…