Equipped with Google Docs-like starter kits and text editor integrations, Y-Sweet is a fully managed, open source sync engine powered by Yjs CRDTs.
This launch is part of Mega Launch Week’s “Battle Royale". https://launchweek.dev/lw/MEGA
Hey Product Hunt! We've been working away on Y-Sweet as an open source project for over a year now, and are excited to be able to launch our managed offering with 10GB of storage on the free tier.
One of our goals with Y-Sweet has been to never lock you in -- unlike other products in the market where you have to build your whole app around a proprietary system, you can run a Y-Sweet app anywhere, whether it's on localhost, Jamsocket, or self-hosted.
Congrats on the launch @felicia_jamsocket@taylorbaldwin@paulgb@michaelsilver@jakelazaroff.
Superb.
Is there a cap on how many concurrent connections you can handle?
How does the engine handle conflicts/race conditions during real-time collaboration? Based on time-stamp?
Thanks, @ashitvora!
We use a scaling model where each document has its own process, which allows us to horizontally scale out the servers. For the use cases we see most we don't hit any sort of connection limits, but if you have a use case with a high connection count I'd be glad to talk about it with you!
Conflict resolution is handled by the Yjs CRDT (conflict-free replicated data types) library. For lists and text, if multiple people insert text Yjs will attempt to preserve both in a reasonable way. For maps, it's last-write-wins like you describe.
Super cool--building on top of a sync engine has saved us a ton of time, but the closed ones get expensive quickly. Great to see work on this kind of FOSS infrastructure.
Hi! Felicia here :) I’m an engineer at Jamsocket, and we’re super excited to launch Y-Sweet. As part of launch week, we're releasing an end-to-end collaboration demo that uses Y-Sweet and Supabase to create a Google Docs-like application. Check it out here: https://github.com/jamsocket/y-s... !
Hi! I’m Jake, an engineer at Jamsocket. I built on a new command line tool called create-y-sweet-app that makes it super easy to spin up a realtime collaboration app using Y-Sweet! Get started in minutes with a multiplayer Next.js or Remix app, working locally out-of-the-box with a walkthrough on deploying to production!
@ihuzaifashoukat thanks! The feature I'm most proud of is that there's no lock in -- if you deploy with us and want to switch to self-hosting, you can, and vice-versa. My favorite little feature is that if you have node.js installed, you can run a server just by running "npx y-sweet serve" -- even though it's a Rust server, it will automatically download and run the correct pre-compiled binary.