Add collaborative cursor-sharing and form sync to your existing web app without rewriting any backend code.
Build a shared browsing session for customer support so agents can navigate alongside users in real time.
Integrate co-editing into an online form or quiz tool so two people can fill it out together.
Create a synchronized product demo where a presenter and viewer browse the same page in sync.
TogetherJS is a JavaScript library that adds real-time collaboration to any existing website. When two people visit the same page with TogetherJS active, they can see each other's mouse cursors moving around, watch each other make edits to form fields or other inputs, and browse the site in sync. It was originally built by Mozilla and is now maintained under the jsfiddle GitHub account. The way it works is that a website owner adds a small script tag to their pages. When a visitor activates TogetherJS, a session starts and a shareable link is generated. The person who receives that link joins the same session, and from that point both users are connected through a central hub server that relays messages between them. The hub server itself is lightweight and does not process the content of the messages, it just passes them through. Mozilla ran a public hub server at hub.togetherjs.com, and the README notes there is little reason to run your own unless you are making changes to the server code. For websites served over HTTPS, the hub must also be HTTPS. Adding the library to a site requires including one JavaScript file. The rest of the collaboration behavior is handled client-side by the library, which synchronizes cursor positions, form inputs, and page navigation between connected users. Website owners can customize some aspects of how TogetherJS behaves on their site. For developers who want to build from source or contribute, the project uses Node.js, npm, and Grunt as a build system. Styles are written in LESS and need to be compiled. The repository includes a development server and a watch task that rebuilds files automatically as you make changes. Tests exist but have no automated runner and must be opened manually in a browser. The project is licensed under the Mozilla Public License 2.0.
← jsfiddle on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.