Hm, I don&#x27;t think some of the things we&#x27;re working on are easy to implement on top of Draft, but I&#x27;ve only browsed the (very good) documentation so far. Perhaps I&#x27;m wrong.<p>For a first, I&#x27;m not clear on how you would write a custom renderer against the data structure (we try to do this for Mobiledoc [0], and it has helped contributors). It seems straight ahead to derive looking at it in a debugger, but I would love to see a link to the docs on it in case I&#x27;ve missed them.<p>As for cards, we&#x27;ve worked hard to make sure cursors work well around cards, and around atoms. There aren&#x27;t any demos of &quot;Custom Block Components&quot; [1] in readonly mode, but based on the inability to place a cursor after a &quot;Code Block&quot; with arrows when it is last, I think Mobiledoc might be a bit more robust at this date.<p>But conceptually custom block components are very similar to Mobiledoc cards [2]. Block based rich content with an object payload. We provide a non-block construct called &quot;atoms&quot; that are inline as well, for things like `@mentions` in text.<p>This is really neat stuff, but yup, we&#x27;ve been playing around with similar ideas for a few months! Happy to see so much life in the editor world again.<p>[0]: <a href="https:&#x2F;&#x2F;github.com&#x2F;bustlelabs&#x2F;mobiledoc-kit&#x2F;blob&#x2F;master&#x2F;MOBILEDOC.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bustlelabs&#x2F;mobiledoc-kit&#x2F;blob&#x2F;master&#x2F;MOBI...</a><p>[1]: <a href="http:&#x2F;&#x2F;facebook.github.io&#x2F;draft-js&#x2F;docs&#x2F;advanced-topics-block-components.html#content" rel="nofollow">http:&#x2F;&#x2F;facebook.github.io&#x2F;draft-js&#x2F;docs&#x2F;advanced-topics-bloc...</a><p>[2]: <a href="https:&#x2F;&#x2F;github.com&#x2F;bustlelabs&#x2F;mobiledoc-kit&#x2F;blob&#x2F;master&#x2F;CARDS.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bustlelabs&#x2F;mobiledoc-kit&#x2F;blob&#x2F;master&#x2F;CARD...</a><p>[edit] looks like <a href="http:&#x2F;&#x2F;facebook.github.io&#x2F;draft-js&#x2F;docs&#x2F;api-reference-data-conversion.html#content" rel="nofollow">http:&#x2F;&#x2F;facebook.github.io&#x2F;draft-js&#x2F;docs&#x2F;api-reference-data-c...</a> serializes the abstract of a Draft into something persistable, and potentially renderable.