All posts

Who are we and what makes AFFiNE?

Christopher Smolak

AFFiNE, Toeverything, BlockSuite, OctoBase. Have you heard these names or seen then around our websites? We've been asked a few times about what's the relationship between these different names so today we're going to give you a quick overview of who we are and what all these different names represent.


So let's start with Toeverything because well, it is everything. You'll have probably seen this name on GitHub and from our emails. This is the name of our organization, an officially registered business for which the following products and software all fall under.


Now AFFiNE is the name that most of you are probably familiar with. But how to pronunce AFFiNE? Just like the word affine - (əˈfʌɪn | a-fine). This is the name that we've given to our next-gen knowledge management software. So how about the name, where did it come from? Well it was inspired from the concept of "affine transformation". In earlier discussions we considered "fractal" but felt it maybe too mathsy. Our goal is that pieces of information in AFFiNE will all be transformable into a variety of shapes while keeping the "truth" (underlying data) unchanged.To make AFFiNE we require various bits of code that operate different services and function of the product. That's where the next name comes in...


One of the newer names you may have heard us mention is BlockSuite. AFFiNE is built with BlockSuite and in the future we hope that other developers and projects will also look to integrate BlockSuite into their solutions.What exactly is BlockSuite? Well it's a suite of blocks (get it?). Our goal with AFFiNE was to make sure everything was a block - something that could be edited and transformed freely. As we were building this solution we considered the reusability of this functionality and that we could create something that others may benefit from using and that's how BlockSuite was born. We decided to isolate the functionality of AFFiNE that allows you to create, edit, view and transform blocks into a standalone package. Something we knew we just just had to share with everyone.


Last, but at no means least we have OctoBase (previously known as JWST). OctoBase is our collaborative backend and database which is implemented based on CRDT.As a summary, this component is critically in resolving conflicts between the duplication of data and managing the databases so that real-time collaboration and local-first storage is possible. And support is being built for decentralized storage too.We're also working hard on building up general purpose APIs so that OctoBase can be utilized in other projects and is more developer friendly.

Find out more

We hope now you have a much better idea of what all these names mean and what they represent.If you'd like to learn more about any of our projects you are welcome to reach out to us and visit our GitHub repos.

Toeverything (GitHub Organisation):


BlockSuite -


Get more things done, your creativity isn't monotone

Explore on Desktop
Stars on GitHub