Local-first sync engines
A Dexie Cloud alternative for apps that have no accounts
Both start from IndexedDB in a browser and end with the same data on another device. If your app is built on Dexie, both are one dependency away.
What Dexie Cloud is
In its own terms.
A sync service for Dexie.js, the IndexedDB wrapper. Add the addon, point it at a Dexie Cloud database, and the local tables sync continuously, with authentication, per-object access control and realtime updates. Hosted by the Dexie team, with a free tier and paid plans, and an on-premise option.
Side by side
Where they part ways.
| s3nd | Dexie Cloud | |
|---|---|---|
| What it is | A CLI, a library and React hooks over your own S3 bucket | Continuous sync service for Dexie.js |
| Where the data lives | Your bucket: S3, R2, MinIO, Scaleway, Wasabi | Dexie Cloud’s servers |
| Both ends online at once | No. The code is redeemed later, until it expires | No |
| From inside your web app | Yes, through one route on your server | Yes, that is the point |
| Accounts | None. The code is the whole handshake | Required |
| Hosting | Your bucket, plus your server when a browser takes part | Hosted by Dexie; an on-premise option is offered |
| Price | Free. You pay your storage provider for a few objects that expire | Free tier, paid plans |
| License | MIT | Proprietary service; the client addon is open source |
The differences
What actually changes.
Continuous sync versus a snapshot
Dexie Cloud syncs every change, both ways, all the time, and merges. s3nd takes a snapshot of the whole database and carries it across once, or rewrites a per-user backup with a conditional write. It does not merge; your app does, when it wants to.
Accounts versus a code
Dexie Cloud identifies users, which is how it knows whose data to sync and who may see it. s3nd has no notion of a user: a code is the whole handshake, which is exactly what a local-first app without sign-in needs.
Their service versus your bucket
Dexie Cloud is a backend the Dexie team runs for you. s3nd is a few small objects in a bucket you already own, with no service in the middle.
Dexie versus anything
Dexie Cloud needs Dexie. s3nd stores whatever your app exports, from Dexie, raw IndexedDB, SQLite in WASM, or a plain object.
The decision
Pick the one that fits.
Pick Dexie Cloud when
- You use Dexie and want continuous multi-device sync with sharing and permissions.
- Realtime collaboration between users.
- A hosted backend is fine, and welcome.
Pick s3nd when
- The app has no accounts and you want to keep it that way.
- A one-shot move to a new device, or a backup, not live sync.
- The data must stay in your own bucket.
- You do not use Dexie.
More comparisons
Tool by tool.
Put a file. Hand over the code.
Point it at the bucket you already pay for. Nothing to deploy, nothing to sign up for, nothing in the middle.
npm install -g @s3nd/clis3nd init --provider r2 --bucket drops3nd put ./anything.zip