We were inspired by apps like Linear and Superhuman. When the user takes an action in one of these apps, it happens instantly, with no server round-trip, and changes from other users appear in realtime.
Realtime Sync has always been difficult to build, especially in the browser. Replicache makes it even easier — and more productive — than today’s common architectures.
Check out a video of our demo app, Repliear, or try it out yourself.
In today’s web apps, the user interface is frequently blocked waiting for network requests. Preloading and optimistic mutations help sometimes, but have to be implemented for each UI feature separately.
The app ends up feeling laggy by default, because skipping the network is extra development work.
Replicache instead downloads data before needed, and stores it persistently in the browser. The app reads and writes only to this local store at memory fast speeds, never talking directly to the server. As a result, Replicache apps feel snappy by default because the architecture always sends requests to local storage first, not the network.
Replicache syncs its local storage continuously in the background with your server, using a bidirectional synchronization protocol inspired by git, multiplayer games, and CRDTs. It’s really easy to use, but powerful enough for complex data models.
Replicache is carefully designed, implemented, and continuously tested to provide instantaneous user interfaces.
Users see each others' changes as they happen, automatically. Want presence too? It's not a special case in Replicache. Just add cursors to your synced state.
By moving more data to the client, features can usually be built entirely client-side with no new server APIs required.
Conflicts don't have to be painful. Replicache provides an intuitive and powerful way to resolve conflicting writes. Most times you won't even realize you're doing it.
Replicache provides Causal+ Consistency, one of the strongest consistency models possible for synchronizing systems.
Replicache is free to use for non-commercial projects, and for companies with < $200k revenue 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.
The easiest way to start is to clone our starter app. This sets up a fully functioning app using NextJS, TypeScript, and Postgres.
See the documentation for details on setting up the starter app.
Thanks for reading about Replicache. We would be happy to answer more questions. You can contact us by email, on Twitter, or on Discord.
You can also learn more about Rocicorp, the company behind Replicache at rocicorp.dev.