I did not create it from scratch. I downloaded someone else's open source code and modified the code to work the way I wanted. I added features.
My modified editor has always received JSON from my API code.
Anyway, about ContentEditable:
Obviously, ProseMirror is well-done and sophisticated, but I'm not a fan of WYSIWYG, nor do I like live-preview.
Nearly all of the time, I use Textile. I've been typing in Textile since 2005.
Web browser speed - march 2016 - Mar 30, 2016
Geek Browser War - Firefox vs Chrome - August 2014 - Aug 16, 2014
Opera web browser speed comparisons - Apr 23, 2016
Breaking the web in 2014 - 2016 - May 31, 2016