NotionLite is an independent build: a Notion-style collaborative workspace. It covers nested pages, block-based editing with drag-and-drop, authentication, public and private sharing, collaboration, per-block comments and a small amount of AI writing assistance.
Editors look simple and are not. A document is a tree of blocks, not a string, so every interaction is a tree edit. Keyboard behaviour is the product: Enter, Backspace at the start of a block, and arrows across block boundaries are where an editor feels right or broken. And state has to be authoritative somewhere — the browser’s own editing model will fight for that authority if allowed.
“Structure does the work that decoration is usually asked to do.”
The aim was calm interaction: how much can be removed before an interface stops being usable. The finding, mostly, is that spacing and alignment say what a block is. A border is not needed for that.
Sharing is where it got interesting. Nested pages with public and private sharing is a permission problem in a document’s clothes: a page inherits from its parent until something overrides it, and a comment belongs to a block whose page can change visibility after the comment exists. None of it shows in the interface, which is the point, and it was most of the work.
A personal project, not a product: there are no usage numbers, and none are invented here.