Latest Posts

Fractional Indexes for text editing

Realtime collaborative text editing is a field, that has been extensively researched and developed in a Conflict-free Replicated Data Types communities. No wonder: it's the most widely used application of CRDTs in practice. While we're…

Scaling Fractional Indexes

Today we'll be talking about fractional indexes, how to scale them to efficiently support millions of entries with minimal memory footprint and how to encode them efficiently. We'll also cover some domain-specific ideas that you…

Disk-native Yjs

Ysr (read: wiser) is yet another implementation of Yjs/Yrs Conflict-free Replicated Data Type libraries, used for building collaborative applications. The twist here is that this time we're moved from in-memory database into one that lies…

Replacing Yjs move feature

As we're approaching the new major version of Yjs (v14), there are few breaking changes worth talking about. While most of them concern the API, a binary format itself remains stable (so don't be afraid, your…

PEON - Prefixed Entry Object Notation

In this blog post we'll going to introduce a new data serialization format. This one focuses on enabling decoding objects as series of incremental object changes, which can be streamed over and emitted/applied partially over time. It…

Is Rust a good choice for business apps?

While you may hear a lot of harsh words about Rust is this rant, that doesn't have to mean it's a bad language. Rephrasing the classic: there are two types of programming languages: ones that people…