yjs VS cardi

Compare yjs vs cardi and see what are their differences.

cardi

A full-featured, static-generated PWA for notes stored in privately owned DynamoDB tables (by pickledish)
Our great sponsors
  • Syncfusion - Build stunning web applications quickly using Syncfusion JavaScript UI controls.
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • Scout APM - A developer's best friend. Try free for 14-days
yjs cardi
5 5
5,351 74
8.6% -
8.2 6.7
6 days ago 7 days ago
JavaScript JavaScript
GNU General Public License v3.0 or later GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

yjs

Posts with mentions or reviews of yjs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-15.
  • Todos: The Hard Parts
    dev.to | 2021-09-15
    But still, frontend development is pretty damn hard! And that makes sense. Web applications can have interfaces as complex as IDEs and data exchange layers as complex as distributed databases.
  • A Simple Way to Build Collaborative Web Apps
    news.ycombinator.com | 2021-08-17
    I haven't yet done this but based on some research it seems to me like the core of any collaborative app today is easiest served by picking some CRDT library.

    There are a couple of open-source CRDT libraries that provide both clients and servers (yjs [0] and automerge [1] are two big ones for JavaScript I'm aware of).

    My basic assumption is that as long as you put all your relevant data into one of these data structures and have the CRDT library hook into a server for storing the data, you're basically done.

    This may be a simplistic view of the problem though. For example I've heard people mention that CRDTs can be space inefficient so you may want/have to do periodic compaction.

    [0] https://github.com/yjs/yjs

    [1] https://github.com/automerge/automerge

    news.ycombinator.com | 2021-08-17
    I've used YJS and can strongly recommend. https://github.com/yjs/yjs

    Built a Google Docs like rich text collaborator for a client on Express/Psql and React. Worked like a charm (the hardest part was dealing with ports on AWS tbh).

    news.ycombinator.com | 2021-08-17
    That's a really nice tutorial. However, most of collaborative apps mentioned in the beginning operate on documents where merging concurrent edits by different users is more of a problem, and there's a really nice tool for that problem: CRDT (https://en.wikipedia.org/wiki/Conflict-free_replicated_data_...) and even ready to use libraries like Yjs (https://docs.yjs.dev).

    Of course, there's a lot of very senior HN users who already know about it. I only mention it because I never explored these tools before, learned about it a couple of months ago for the first time in my life and was really impressed.

  • Kanban board in one HTML using localstorage
    news.ycombinator.com | 2021-02-15
    For shared use and remote storage, I'd consider using CRDTs like yjs [1] for instance.

    Should be pretty easy, local-first, and allow synchronous as well as asynchronous collaboration and syncing. Even p2p over LAN, webrtc or whatever (I'm unsure how to do local peer discovery in a web browser, on the desktop you'd simply use link-local multicast/avahi (DNS-SD)).

    [1] https://github.com/yjs/yjs

cardi

Posts with mentions or reviews of cardi. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-08-25.
  • Show HN: WebCrate – an open source, social and self-hosted bookmarking tool
    news.ycombinator.com | 2021-08-25
    > Deta Space made it really easy for me as dev to build something like WebCrate quickly and it's also awesome for users. The app keeps running even if I disappear and hosting, auth etc. is all handled for me

    Ah yeah, love the concept, I had similar goals in mind when making Cardi (although I wasn't aware of many options at the time for putting data in control of the user -- I ended up just having people log in with AWS access keys and it stores data in DynamoDB, which is weird but has actually been working great so far).

    https://github.com/pickledish/cardi

    Anyways Deta seems interesting, looking forward to seeing where it goes from here! Would love more/better options in this space.

  • Kanban board in one HTML using localstorage
    news.ycombinator.com | 2021-02-15
    Ha, I'm very interested in this!

    I had this same problem for my own app[0], I ended up solving it by just using dynamodb in my personal AWS account as the storage. Generous free tier, great uptime, and no users, security, etc to manage for me, like you mention.

    It's way more technical than I'd like of course, since anyone who wants to use it needs to have a personal AWS account. And it isn't "synced", like you say, it's just using the AWS JS SDK to speak to dynamodb directly. But still it's been a real pleasure to build a web app this way -- the fact that anyone can use the app by plugging in their own storage is kind of the web development holy grail IMO.

    [0] https://github.com/pickledish/cardi

  • pickledish/cardi Google Keep, but without the Google.
  • Show HN: Cardi – store your notes for free in AWS DynamoDB
    news.ycombinator.com | 2021-02-02
    Hey thanks! I wouldn't say it's a hard dependency, in fact it can work with other things that are API-compatible with DynamoDB, like Scylla for example if you wanted to self-host everything:

    http://scylla.docs.scylladb.com/master/alternator/alternator

    And in terms of using something like Firestore, the storage needs of this are very simple so it wouldn't be very hard to add that in. I tried to keep all the persistence-related functionality separated off for this purpose:

    https://github.com/pickledish/cardi/tree/master/src/dynamodb

    news.ycombinator.com | 2021-02-02

What are some alternatives?

When comparing yjs and cardi you can also consider the following projects:

Kanboard - Kanban project management software

pacman-backup - :floppy_disk: Pacman Backup tool for off-the-grid updates via portable USB sticks or (mesh) LAN networks.