The next web is alive.

Replicache is a JavaScript framework for building high-performance, offline-capable, collaborative web apps.

Benefits

Realtime collaboration

Users see each others’ changes live, as they happen. No refreshes, no locking.

Instant UI

Say goodbye to roundtrips and progress bars. All reads and writes are “optimistic” by default.

Offline support

Applications can go offline for hours or days and sync up smoothly when they come back online.

BYOB(ackend)

Replicache is client-side technology and works with many backend stacks.

It just works

Conflicts, tabs, schema migrations – Replicache handles the hard parts. You’ll find it’s even more productive than traditional web frameworks.

How it works

Replicache downloading data and caching it.

Replicache data is divided into spaces up to ~100MB in size. When a user first navigates to a space, Replicache downloads the data and stores it persistently in the browser.

UI responding instantly while updating server in background.

The application reads and writes only to its local copy of the data. Thus the application responds instantly to all interaction by default.

Replicache syncronizing changes from multiple clients.

Replicache synchronizes changes to the server and other clients continuously in the background. Users see each others’ changes live.

Replicache merging conflicts from multiple clients.

Conflicts happen if two users edit data concurrently. Replicache merges conflicts using a form of server reconciliation — an intuitive and powerful technique from multiplayer games.

Replicache resolving conflict after client offline.

If sync can’t happen because the server is down or there’s no network, changes are queued persistently until the server comes back. Replicache apps can smoothly transit online, offline, and unreliable networks.

Who’s using Replicache?

“Multiplayer finally made easy and simple.”
“I love the programming model. The pairing with React is perfect.”
Guillermo Rauch
Guillermo Rauch
CEO
Malte Ubl
Malte Ubl
Chief Architect
“Replicache saved us years of engineering work on a collaborative diagraming tool. The developer experience feels like saving state locally, but it automagically syncs and resolves conflicts.”
Noam Ackerman
Noam Ackerman
Head of Canvas by Monday
“Replicache has solved an important and complex problem for us. It is extremely reliable and performant. Love the product and would recommend it to anyone who needs offline support.”
Siddardha Garimella
Siddardha Garimella
Engineering Manager
“Realtime collaboration is too big for early teams to build. For my small team at Placemark, using Replicache meant that collaboration could just work and I can focus on building the product.”
Tom MacWright
Tom MacWright
Founder
“Replicache is the backbone of our offline-first architecture at Motif. We have found it shockingly easy to use, and absolutely reliable.”
Michael Fester
Michael Fester
Co-Founder
“No way I could have made as good a product without Replicache.”
Chad Burggraf
Chad Burggraf
Founder/CTO
“Unsettlingly fast. And the productivity is insane.”
David Peek
David Peek
CEO

Pricing

Replicache is free to use for non-commercial projects, or for companies with < $200k revenue (ARR) and < $500k in funding.

For other commercial projects, the first two months are free, and then we charge based on the number of monthly active profiles.

Monthly Active Profiles
< 1k
< 10k
< 100k
≥ 100k
Replicache (monthly)
$500
$1,250
$3,000
$7,500
Source License
Not included in pricing tier
Included in pricing tier
Included in pricing tier
Included in pricing tier

See FAQ for details on monthly active browser profiles (MAPs), commercial projects, and for pricing examples.

Get started now

The easiest way to start is to clone our starter app. This sets up a fully functioning app using NextJS, TypeScript, and Postgres.

Copy
$ npx degit rocicorp/replicache-todo my-app

See the docs for details on setting up the starter app. We also have quickstarts for other frameworks available.

Contact us

We would be happy to answer more questions. You can contact us by email, on Twitter, or on Discord.