@author: please take a look at http://feathersjs.com - your work is very interesting, but you should make it a layer on top of a modular backend service and feathers would be a good choice, but maybe people would like to use phoenix or other backends on the server.
Also you may be interested in http://derbyjs.com/ and do some research about operational transformations.
Ah, and please do not forget that in a real app you need to lock the records users are editing, but not indefinitely.
Thanks and happy coding!