[go: up one dir, main page]

Version control for your data.

Automerge is a local-first sync engine for multiplayer apps that works offline, prevents conflicts, and runs fast.

Distributed systems done properly.

Multiplayer

Multiple users, multiple cursors, and multiple devices — one document. A single source of truth for your data, mirrored on every client.

Multiplayer As we progress down the page, we'll see several pieces of a detailed illustration showing the behaviour of Automerge. In this first image, two users collaborate, swapping changes back and forth, always converging on a consistent result.

Offline

Full functionality when offline. Your changes queue locally, and everything syncs when you reconnect.

hello!
Offline In this next illustration, another user works offline, their changes queuing up.

Consistent

When users make overlapping edits, Automerge performs a consistent merge that prevents data loss, and gives you tools to control the outcome.

Sync The third illustration — the offline user reconnects, and all three users sync their changes. Everyone converges on the same result.

Versioned

Automerge remembers every change. Branch fearlessly, experiment boldly. Your document's entire history lives locally, ready when you need it.

Inside In this illustration, an exploded view of an Automerge doc, represented by a grid of diamonds nested within a larger grid of diamonds, all connected by lines that suggest branching and merging.

Compact

Automerge supports millions of changes in a single doc. It uses a compressed columnar store on disk and in memory.

Compressed The final illustration. The document is squished down to a small size, thanks to memory compression.

Fast

Our high-performance sync engine lets you edit local documents and see results instantaneously without waiting for distant servers to respond.

Automerge works with your existing stack.
Drop it in where you need it.

Compatible

Works with React and other frameworks out of the box. Plugins for Prosemirror, Codemirror, and more.

Network

Peer-to-peer, client-server, files on disk, email attachments… if you can transfer bytes, you can sync documents.

Language

Built for Javascript and Rust, with ports or bindings for Swift, Python, C, Java, and more.

Backend

Works with whatever backend you already have. Or, use Automerge Repo, which comes with a sync server backend out-of-the-box. No proprietary infrastructure — you own your stack.

The team behind Automerge.

For more than a decade, Automerge has been an independent open source project built by a serious, dedicated team of engineers and computer scientists. That team includes production engineers who cofounded Heroku, and computer scientists like renowned Cambridge professor Martin Kleppmann. We plan for the long-term, and think about where the project will be in a decade, not how to get through the next funding round.

A dithered, retro-inspired photo of Martin Kleppmann, Peter van Hardenberg, and Orion Henry clustered around laptops, with looks of intense concentration on their faces.

We are driven to build high performance, reliable software you can bet your project on. We develop rigorous academic proofs of our designs using theorem proving tools like Isabelle, and implement them using cutting edge performance techniques adopted from the database world. Our standard is to be both fast and correct.

Our ongoing effort is supported by a variety of different groups. Industrial research lab Ink & Switch provides a baseline of full-time engineering staff, including lead maintainer Alex Good, Orion Henry, Brooklyn Zelenka, and John Mumm. We are also supported by open source sponsorship from partners like Fly.io and Prisma, support contracts and feature development funding from users like GoodNotes and Bowtie, and philanthropic funding from groups like NLNet, the Advanced Research + Invention Agency, and the Endless Foundation.

Another photo, this one looking through a window at Brooklyn Zelenka and Alex Good, who are collaborating on a design by writing notes on the window with a special pen. Again, the photo is dithered with big 1-bit black-and-white pixels.

We are also grateful to all the members of our community who write new libraries and integrations, contribute to the core repositories, or share their experiences building with Automerge. We maintain a list of open source contributors, and invite you to join them.

A dithered, retro-inspired photo of Martin Kleppmann, Peter van Hardenberg, and Orion Henry clustered around laptops, with looks of intense concentration on their faces.
Another photo, this one looking through a window at Brooklyn Zelenka and Alex Good, who are collaborating on a design by writing notes on the window with a special pen. Again, the photo is dithered with big 1-bit black-and-white pixels.