Oh hey, this looks a lot like something I was working on.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;nickretallack&#x2F;richer" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nickretallack&#x2F;richer</a><p>React makes it easy to do a stateless transformation from your data model to some output, so you can model things the way you want to: as a series of overlays onto the text.<p>My project uses the Google Drive Realtime API as its data model, so you can collaborate on the text too.  Or use the in-memory version to edit alone.<p>I never finished this thing.  Was hoping to use it on a project at work, but got shot down.  Emulating cursor movements without a text area was the fiddliest part.  But I got pretty far into it as a proof of concept at least.  I was impressed at how fast it was despite being a JavaScript emulation of content editable.