The next web is alive.
Users see each others’ changes live, as they happen. No refreshes, no locking.
Say goodbye to roundtrips and progress bars. All reads and writes are “optimistic” by default.
Applications can go offline for hours or days and sync up smoothly when they come back online.
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 data is divided into spaces up to 64MB in size. When a user first navigates to a space, Replicache downloads the data and stores it persistently in the browser.
The application reads and writes only to its local copy of the data. Thus the application responds instantly to all interaction by default.
Replicache synchronizes changes to the server and other clients continuously in the background. Users see each others’ changes live.
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.
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?
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.
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 todo-react example. This sets up a fully functioning app using Express, TypeScript, and Postgres.
See the docs for details on setting up the starter app. We also have quickstarts for other frameworks available.
We would be happy to answer more questions. You can contact us by email, on Twitter, or on Discord.