2. Five layers, each with one job
Five layers with one job each: database, protocol, record CRDT, local server, clients and agent. Product logic stays above the API.

2. Five layers, each with one job

Five layers with one job each: database, protocol, record CRDT, local server, clients and agent. Product logic stays above the API.

Knowing which layer owns a behaviour says where its guarantee comes from.

Old Anytype had one middleware. Storage, sync, data model, API, all in one. Change one thing and you touched everything.

Anytwo is five layers. At the bottom, any-store. An embedded document database. Queries, indexes, full-text and vector search. No idea that sync exists.

Above it, any-sync. The protocol. Spaces, guest lists, signed and encrypted change graphs, the network.

Then the SDK. It turns encrypted changes into rows you can query. This is where the merge rules live, and where encryption happens.

Then any. A local server on your own machine. Its API is plain JSON over HTTP.

On top, the clients. The app, the command line, and the agent runtime. They all speak to the same local door.

One rule holds it together. Product logic stays above the API. Everything below is product-agnostic.

Check yourself. Which layer decides what is inside an encrypted change?

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime

Attributes
name
2. Five layers, each with one job
summary
Five layers with one job each: database, protocol, record CRDT, local server, clients and agent. Product logic stays above the API.