A modular, local-first block editor engine. Single contenteditable. Loro-CRDT.

Project Kickoff

May 17, 2026

A month ago, I announced Nabu publicly. Since then, the repo has been quiet, and I want to be honest about why. Most of my time went into building the foundation around the project: the Aion Builders brand, Nabu's visual identity, and the community infrastructure that a serious open-source project needs before it can grow properly. This post is the first in a series of build-in-public updates. Here is what happened, and where things are going.

Summary

Nabu was announced publicly one month ago and received strong early traction on Twitter/X and Reddit
Development slowed intentionally while I focused on the surrounding infrastructure
Aion Builders, the parent brand, got its foundations set up
Nabu's visual identity and design system are now defined
A Discord server was designed and is ready to launch
The next phase shifts focus back to the editor engine itself

What is Nabu ?

Nabu is an open-source block editor engine built natively for Svelte 5. Not a wrapper, not a port. Built from scratch, with Loro-CRDT as the single source of truth and a Single ContentEditable architecture at its core.

The why is simple: I needed a serious editing engine for a writing application I am building. I looked at what existed. TipTap, ProseMirror, Lexical. All solid projects, none of them designed with Svelte in mind, and none of them giving me the level of control I wanted over the data layer. So I built Nabu instead.

The goal is to give Svelte developers a block editor engine that does not ask them to fight the framework. Something that feels native, that is built on a solid CRDT foundation for real-time and offline-first scenarios, and that is designed to be extended rather than configured around.

That is what Nabu is. And this is where it stands today.

The early pause

If you followed the announcement a month ago and then noticed the repo going quiet, I want to be straight with you about what happened.

I made a choice. Not to step back from Nabu, but to step forward on everything around it.

Nabu will be open source. That is not a maybe, not a "for now". It is a core part of what this project is. I genuinely hope it becomes a go-to library in the Svelte ecosystem, something developers reach for when they need a serious editing engine. But hoping for that and building toward it are two different things. And building toward it means more than writing good code.

It means having a brand that people can trust. A visual identity that signals the project takes itself seriously. A community space that is ready before the crowd arrives. A business foundation that makes the whole thing sustainable long-term. Because open source without a surrounding structure is just a repo that quietly dies.

That surrounding structure is Aion Builders. It is the ecosystem I am building, and Nabu is its first major piece. Getting Nabu into that ecosystem properly, with the right foundations in place, felt more important right now than shipping the next feature. I am genuinely excited about what that means for where this project is going.

So the pause was intentional. And it is over.

Visual identity

A project's visual identity is often the last thing developers think about and the first thing users notice.

I wanted Nabu to have something that felt intentional from day one. A logo, a color palette, design tokens, a general visual direction that could scale across the documentation, the playground, the community spaces. Something that signals: this is not a side project someone will abandon in three months.

I will not go into every decision here, but the work is done. Nabu has a face now. You are looking at part of it.

What comes next

The pause is over, so let me be clear about what is coming.

First, the Discord is ready. If you want to follow the build, ask questions, or just lurk, the link is below. It is early and intentionally small for now. That is fine.

Then, the engine itself. The core architecture of Nabu is solid. The spine algorithm, the selection bridge, the extension registry, the CRDT-first model. That work is done and I am happy with it. What comes next is about quality, not reinvention.

Concretely, that means: getting the test suite to a point where I can call this a beta without lying, building a public interactive playground so you can try Nabu without cloning anything, and eventually shipping a <NabuEditor /> surface component that makes getting started as simple as dropping in a tag.

No fake roadmap, no promised dates. Just honest priorities, in order, executed one at a time.

This is the first build-in-public post. There will be more. If you want to follow along, you know where to find me.