Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
SwirlDB: Modular-first, CRDT-based embedded database (swirldb.org)
74 points by owenm 21 days ago | hide | past | favorite | 12 comments


This looks really cool. I've actually been hacking on something very similar to this myself, although with clojure/script on the server / browser. The adapter architecture and equivalent nodes was something I first saw with PouchDB. ~830KB seems quite large for the browser library though.


This could be exactly what I need, AES GCM field-level encryption support is a godsend. Unfortunately seems like it’s planned and not ready. If I hadn’t just finished rolling out a sync feature built around the Matrix protocol, I would have loved to properly try this out.


i've been vetting matrix. what sold you? what are you using it for? seems like it is resource intensive and still a bit rickety. you using yjs?


My app is for chat-based notes[1] and I have been wanting E2E local-first sync on it for a while. Switched from Realm to SQLite after it was deprecated but never found a good non-niche DB SDK for it on Flutter. Tried to handroll sync + AES-GCM encryption with Supabase Realtime and it kind of worked but I knew managing encryption was going to be hell and also wanted collaboration features. Matrix was built for chat, and at some point I read someone call it basically a graph sync engine & potentially supporting general texting with other clients also seemed like a cool bonus.

That said, adopting it (even partially) was/is a big mess, there's a thousand corner cases with key exchange, etc. so it's really a big commitment, especially if there's no existing user-friendly SDK for it.

I'm not using yjs (yet), just going to more basic event sourcing that is essentially last-write wins but that's a direction I want to explore in the future.

[1] https://tetrify.com/


neat congrats on shipping! yeah i was kind of in the same boat which is why instantdb seemed like a good fit but it's early days. matrix feels like a house of cards that is meandering a bit with a ton of msc's. you using synapse or?


Yep just Synapse with more liberal rate limits and no federation.

I'm very curious on the use case you need AES GCM field-level encryption.


Zero-trust syncing of notes data. Honestly an overkill for the purpose but more of an ideological and educational goal.


I don't know why this was posted, considering https://github.com/everyside/swirldb says quite clearly:

> UNDER ACTIVE DEVELOPMENT

> SwirlDB is in early development and not ready for production use. The API is unstable and subject to breaking changes.

It is inappropriate to post projects that are not ready for use.


I see no mention of foreign keys or other relational db features. Does it support them or is just a persistance layer for a simple kv CRDT?


reminds me a bit of instantdb.com


most excellent




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: