251 karma · joined October 14, 2019
Noted on the "local-first" term, thanks!
I thought about doing CRDT in the beginning, but because not every block type is text, I simplified the implementation to last write wins. Note that every paragraph is a block, so it's not like the entire page is overwritten. CRDT is still doable though.
There are real-time text cursors and block selections, but I intentionally did not implement Figma-style floating cursors that people may expect in certain modules. I thought it looks cool but doesn't offer much value, especially when you can already see what other people selected.
On your second point: That's a good point, bad phrasing on my part. Thanks for the feedback.
I get the best-of-breed argument. Nino's thesis is that people will find more value if enough tools are bundled in one place.
Currently it uses GCP with data centers in the US, but when E2EE is rolled out, I don't think it would matter where it's located? There might be legal complications so I'm also thinking of moving the physical databases to jurisdictions like Switzerland, if it comes to that.
Given the complexity of the backend, I think a self-hosted version might not be possible in the short term. However, single tenant versions (like GitLab dedicated) is definitely doable.