We launched Convex Components to make adding features to your app easier! 🎉
Learn moreConvex is a stateful sync platform. Everything syncs in real-time. The server pushes query results to the client, and the client queues all mutations to execute on the server. Occasional network blips are handled gracefully.
Get startedConvex uses ACID-compliant transactions to interact with the database. Your server always has a consistent view of all the data, and every client query is automatically updated to the same consistent view of the database. Every surface of your product will look correct.
Think about an e-commerce site with products in a shopping cart. If an item is in the cart, it isn’t available on the shelf. There will never be a screen of the app where the item is in two places or mysteriously not there at all.
Yes. Convex uses WebSockets to push updated query results to the client and send mutations to the server. You don’t have to think about it if you are using the provided client libraries.
Convex will automatically handle intermittent network blips. Convex doesn’t currently provide a full offline sync mechanism, but some customers have used tools like Replicache. The team is actively exploring this space.
When you make an http call with fetch from your app, you only get one result at the time you make the request. With sync, you replace the fetch with a live subscription that is updated whenever the query result changes. You get a consistent view of the data and your writes are serialized.
More about Convex
How does Convex actually work? With our recent open source release, now is a perfect time to answer this question.
Building multiplayer games requires a lot of synchronization logic and event systems. However, using Convex, we get a lot of this for free!
Backends have been letting down product developers by not providing clean abstractions that empower development without introducing unnecessary complexity.
When you’re a Convex developer, your code is in the database.