I'm making a Trello clone, i.e a project management web app, and would like to add collaboration functionality so that a user can invite another user and they can work on the same "board"(as they do on Trello). I'm looking for a JavaScript library that enables collaboration to users via invite.

What are some or TogetherJS alternatives or a JavaScript library to allow user collaboration?

2 Answers 2


I'm not totally familiar with TogetherJS, but see it uses web sockets for communication between clients. You can use Socket.IO to manage your own web socket connections. The invite will likely be a database operation, so users can get them while not on the application. Once a user opens a shared document/workspace, you can add their socket to a room and relay everything they do to all the other sockets in the room.


I haven't tried either of them, but am on a similar search.

You should check out Operation Transformation (see also https://operational-transformation.github.io/ ) which gives an idea as to the complexities involved in implementing a library you might choose to use.

There is a nice writeup here https://geovation.github.io/canvas-shared-editor#:~:text=requiring%20additional%20effort).-,ShareDB,persistent%20database%20with%20no%20queries.

Check out both the recommenations - Firepad (tied into google services, may not be to all tastes) and ShareDB (appears to work a bit like TogetherJS, uses MIT license)

The latter is json document-centric, which might not suit all use cases.

You may also want to look at https://github.com/yjs

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.