// the find
jamsocket/y-sweet
A realtime CRDT-based document store, backed by S3.
Y-Sweet is a Yjs-based document sync server written in Rust that backs collaborative documents to S3-compatible storage. It sits between your app and Yjs, handling persistence, access tokens, and horizontal scaling so you don't have to wire that up yourself. Aimed at teams building real-time collaborative features who want something more production-ready than running y-websocket with a hand-rolled persistence layer.
The S3 persistence story is solid — documents are checkpointed to object storage, so the server is stateless enough to scale horizontally without a separate database. The Cloudflare Worker deployment target (y-sweet-worker using Durable Objects) is a genuine differentiator: you get per-document isolation and global edge distribution without managing servers. Client token auth is built in at the protocol level rather than bolted on, which matters for multi-tenant apps. The React hooks package makes the client integration thin — you get a working collaborative editor with about 10 lines of code.
The server is architecturally tied to Jamsocket's session backend model, and the docs lean heavily on 'just use Jamsocket' — self-hosting docs exist but are sparse, and operational questions (what happens to in-flight writes during a crash, how to recover a corrupted document from S3) are largely unanswered. There is no built-in conflict visibility or history API — if a CRDT merge produces garbage, you have no tools to inspect or roll back. The project is effectively maintained by one company, and the Cloudflare Worker variant and the native Linux server share little code, so bug fixes don't automatically propagate between them. At under 1k stars it has limited production evidence outside Jamsocket's own customers.