Instant Queries by Default
Try Gigabugs, our 1.2 million row bug tracker.
Sync engines enable instant UI by downloading data to the client before it's needed. All read and writes are local and synced with the server in the background.
But there's a catch: almost all realistic apps have way too much data to download ahead of time. There are usually complex permissions too — not all users can read and write all data.
We created Zero to solve these problems and bring the performance of sync to the entire web.
Try it out right now.
Our Gigabugs demo has 1.2 million rows, and loads in less than 2 seconds.
How it Works
Zero has two parts: a client and a server.
The server runs in the cloud and maintains a sync-optimized replica of your Postgres database.
On the client, you get an API that looks like an embedded database, but to which you can issue arbitrary “hybrid queries” that span the entire database, including the server.
Behind the scenes, Zero synchronizes query results continuously to a client-side persistent cache. This cache is used automatically for future queries whenever possible.
function Playlist({id}: {id: string}) {
const [playlist] = useQuery(
zero.query.playlist
.related('tracks', track => track
.related('album')
.related('artist')
.orderBy('playcount', 'asc'))
.where('id', id)
.one()
);
const onStar = (id: string, starred: boolean) => {
zero.mutate.track.update({id, starred});
};
// render playlist...
}Features
Instant Reads
This is a placeholder description for a feature block that should be replaced. Keep it to two to three lines if possible.
Instant Writes
This is a placeholder description for a feature block that should be replaced. Keep it to two to three lines if possible.
Automatic Reactivity
This is a placeholder description for a feature block that should be replaced. Keep it to two to three lines if possible.
Fast Startup
This is a placeholder description for a feature block that should be replaced. Keep it to two to three lines if possible.
Server Authority
This is a placeholder description for a feature block that should be replaced. Keep it to two to three lines if possible.
Easy Integration
This is a placeholder description for a feature block that should be replaced. Keep it to two to three lines if possible.
Our Users Say
Check out what our users have to say about Zero.
Zero completely changed how we think about real-time. The query-driven sync is genius — our app feels instant now.
We tried building our own sync layer. Should've just used Zero from day one. Saved us months of development time.
The permission system is incredibly powerful. We can finally give users real-time collaboration without worrying about data leaks.
Local-first with Zero means our app works offline and syncs seamlessly. Our users don't even notice when their connection drops.
The developer experience is top-notch. Write queries, get reactive updates. It's that simple.
Zero handles the hard parts of sync so we can focus on building features. The performance gains are unreal.
Pricing

Hobby
zero-cache runs in Rocicorp's AWS account.
- 10 GB storage
- 3 shared vCPU
- Support via public Discord
- Additional storage: $0.20 / GB
- Dedicated vCPU: $50 each
Professional
zero-cache runs in Rocicorp's AWS account.
- 100 GB storage
- 6 dedicated vCPU
- Shared Slack channel
- Additional storage: $0.20 / GB
- Additional vCPU: $50
Bring Your Own Cloud
zero-cache runs in your own AWS account.
- Data stays in your AWS account
- Rocicorp has limited privileges
- AWS infra billed to your account
- Shared Slack channel
- Includes 10 vCPU
- Additional vCPU: $20
Get in Touch
Hosting is in private beta. Message us and we'll get you onboarded.