Replicache makes it easy to add realtime collaboration, lag-free UI, and offline support to web apps. It works with any backend stack.
Realtime Multiplayer Collaboration. Popularized by Google Docs, Figma, and Notion — realtime collaboration is awesome, but famously hard to build. Replicache provides a programming model that makes it much easier.
Bring Your Own Backend. Replicache is entirely client-side technology, and works with any standard web service backend. Your data stays on your servers.
Lag-Free UI. By executing all reads and writes against a local cache, apps built with Replicache respond instantly, without waiting for the server. It even works if the app is…
Offline. Replicache persists its cache to client-side storage, so apps boot and render instantly. Online, offline, or anything in between.
Transactional Conflict Resolution. Conflicts are a fact of life when syncing, but they don't have to be exceptionally painful. Replicache rewinds and replays your transactions during sync, sort of like
git rebase for application state. It's the easiest way to deal with conflicts that is…
Correct. Replicache was designed in consultation with indepedent distributed systems expert Kyle Kingsbury of Jepsen. When properly integrated with your backend, Replicache provides Causal+ Consistency — one of the strongest consistency models possible in a synchronizing system. See the Replicache Design Document or Jepsen's summary for more information.
Replicache is a persistent key/value store that lives inside your web app. Use it as your app's state, in place of things like MobX, Redux, Recoil, Apollo, etc.
You don't need REST or GraphQL APIs when you use Replicache. Instead, read and write directly to Replicache from the UI, as if it was in-memory state. Replicache continuously synchronizes itself with your server using two special endpoints:
replicache-pull. It also persists itself to local storage in the background, so the next startup is instant.
Visit the documentation for more details on how Replicache works.
We are working toward a General Availability Release of Replicache for early 2022 that features:
In the current (Q4'21) beta you can use Replicache in two modes:
useMemstore: trueflag, Replicache provides faster (single digit ms) responsiveness suitable for multiplayer collaboration, but does not store data persistently, and thus is less useful for fast startup and navigation.
In both configurations, you can store about 2-3MB of data before you start to see performance degradation, and you can sync about 5x/second with typical backend setups. This works for many applications but is not ideal for true multiplayer collaboration.
Questions? Contact Us — we'd be happy to chat.
Replicache is free for any amount of non-commercial use. For commercial use:
|MAC||< 500||< 10k||< 100k||100k - ∞|