Hey! Not a developer but here are a couple pointers.
As Yousef says below, the text editing bit is hard. We wanted to be build fast and BlockNotejs makes it easy, you get the block stucture, the slash command, you can style your editor and extend with custom blocks. The BlockNotejs team researched the live editing space thoroughly so we could just follow the tracks: BlockNotejs, HocusPocus, Yjs. We "just" had to build the wrapper around with authentication, docs permissions and search and boom you have Docs!