I'm freaking out lmao — I've been going back and forth for days on whether this is worth sharing. First step into build in public, first big open source project. It's not ready. But if I don't ship it, it never will be.
So — introducing Nabu, my rich text editor engine for Svelte 5 🎉 → https://t.co/OEPD7KlazO
A few things that might interest you if you're in the Svelte ecosystem: — Built natively on Svelte 5 Runes (no adapter layer, no compatibility shim) — Loro CRDT as the single source of truth — the doc state lives in the CRDT, not in the DOM — Single contenteditable architecture — one node for the whole document — Extension Registry pattern — block types are composable and pluggable
Still an alpha. I'd even call it a big prototype. But the hard architectural problems are solved, and I'm not dropping this — it's going to become the core engine of a larger product I'm building, so long-term commitment is baked in.
Feedback very welcome, especially from anyone who's wrestled with rich text in Svelte before. 🙏
#Svelte #buildinpublic #opensource
@SvelteSociety@SvelteSocietyFr
I owe you an explanation.
When I announced Nabu a month ago, some of you started following. And then I basically vanished. Not because I stopped working. Because I got completely swallowed by something else : building the Aion Builders website, the "home" for everything I make. And I kept doing it, destroying it, redoing it, for months. Never satisfied. Never shipping.
Honestly ? I still don't love it.
But here is the thing I had to accept : I could stay in that loop forever. There is always another detail to fix, another component that doesn't feel right. The truth is I don't always know where I stand. Some days I feel like I am building something real. Other days I can't produce anything worth keeping, and I end up just bookmarking the wildest designs I find on X, wondering if I will ever get there.
Build in public is hard when you feel like you haven't earned the right to be in public yet.
But I realized something. Fear doesn't go away if you wait. It just sits there and eats at you until you stop wanting to build anything at all. And I have so much I want to build. I want to ship things that matter, find clients, move forward with my mate @DimitriZordan , create stuff I am actually proud of.
Okay. Here is where things stand.
Nabu is back in active development. The architecture is solid. What comes next is finishing the essential blocks and getting the core tight enough to call it a beta. Clean, honest, no fake roadmap.
https://t.co/XbOWHfwXB9
Palimpsest alpha is close. One blocker left : syncing the structure of a writing project with meta blocks across the Nabu editors, the thing that makes it feel like one coherent world instead of separate documents. Once that lands, the alpha drops. Mac, Linux, Windows.
https://t.co/WDGQxRG5s4
Everything to follow both builds is live at https://t.co/EYgcxd7VI8.
Let's go. 🫡
@henrikvberglund Thanks for testing this! IME support is genuinely one of the hardest problems in rich text editors, I knew it would be rough but hadn't had a Japanese speaker test it yet. Opened an issue if you want to add context or repro steps → https://t.co/ooYqQNaOoG
I'm freaking out lmao — I've been going back and forth for days on whether this is worth sharing. First step into build in public, first big open source project. It's not ready. But if I don't ship it, it never will be.
So — introducing Nabu, my rich text editor engine for Svelte 5 🎉 → https://t.co/OEPD7KlazO
A few things that might interest you if you're in the Svelte ecosystem: — Built natively on Svelte 5 Runes (no adapter layer, no compatibility shim) — Loro CRDT as the single source of truth — the doc state lives in the CRDT, not in the DOM — Single contenteditable architecture — one node for the whole document — Extension Registry pattern — block types are composable and pluggable
Still an alpha. I'd even call it a big prototype. But the hard architectural problems are solved, and I'm not dropping this — it's going to become the core engine of a larger product I'm building, so long-term commitment is baked in.
Feedback very welcome, especially from anyone who's wrestled with rich text in Svelte before. 🙏
#Svelte #buildinpublic #opensource
@SvelteSociety@SvelteSocietyFr
Not gonna lie, I did not expect this when I hit post yesterday 😂 This kind of reaction just makes me want to push even harder toward beta. Would love to hear about your use cases and edge cases if you ever want to share — that's exactly the kind of input that will shape the RC. 🔥
Just built my first bit of UI for @palimpsest_app - smooth slide transitions between worldbuilding search/create views. Small win but it's coming alive! #BuildInPublic
Starting my #BuildInPublic journey today with @palimpsest_app - a next-gen writing app I'm developing for authors who worldbuild. It combines structured writing with worldbuilding elements all in one place. Will be sharing my progress, challenges, and learnings along the way! #indiedev
Don't delegate understanding
There is a parasite, I see it everywhere. It consumes your health and wealth. It preys on ignorance and is easy to catch. It’s so common you may not even notice you have it.
The parasite has a simple and attractive proposition: let me take care of this hard thing for you. Trust me, I know better.
Instead of understanding it yourself, you choose to give the parasite control over your health, education, money, housing, business, identity, data, infrastructure, climate, justice. Even your beliefs.
The parasite has three stages: acceptance, extraction, intervention.
First is acceptance. Everyone else seems to have the parasite already. You are expected, even encouraged, to accept the parasite into your life. You are invited to follow the norm, outsource, consume. It’s okay! Use all the services and amenities. Satisfy your desires. Eat the cheap food, watch the cheap media. Your money and time are meant to be spent. Show off what you got in exchange. Please do not try to understand how it works, it’s too complicated for you. The parasite wants you fattened. Literally and figuratively. You are paying the parasite for the privilege of being ripened.
Second is extraction. Under the influence of the parasite, you have developed unhealthy habits and you are suffering the consequences. Stress, anxiety, obesity, disease, ignorance, fear, lethargy, decay. To dampen these problems you pay the parasite for help — support, medicine, loans, fines, rent, taxes. Enforcement of some homeostasis. You try to abate the issues, but you don’t have a stable foundation to build on. You have ignored the root causes. The parasite thrives. You are paying the parasite to be harvested, milked, sucked dry.
Third is intervention. The side effects of the parasite’s extraction have reached a critical level. The parasite tells you it’s an emergency. You need doctors, lawyers, firefighters, a military effort. You’re in a surgery room, a court room, a psychiatric ward, a jail cell. The disease can no longer be controlled, it has festered. The flame has turned into a raging fire that needs to be put out. You are paying the parasite to go back to square one.
The three stages of the parasite are interdependent. Every stage benefits someone who is not you. Everyone tells you this is just the way it is. Never mind that the parasite is living large.
Why? Extraction and intervention pay well. Education and prevention do not. The incentives are aligned to make the parasite persuasive. You are alone against a coordinated system that is exceedingly effective at packaging problems you should never have with solutions you should never need. A symbiotic loop.
You must recognize the parasite in its earliest form.
To inoculate yourself don’t delegate understanding. If you build your own understanding you will be the one who earns the dividends.
@beadadkidsneed@SaveYourSons Just stay the same !! And keep bringing happiness and warmth to those around you. I'm just a 20yo young man with so much to learn ! I'll follow you on Twitter and I hope to have more inspiring conversations with you ! Plus, it's helping me work on my English 😂 !
@beadadkidsneed@SaveYourSons It's good to be able to connect and talk peacefully about these subjects, despite an ocean of distance. It is very comforting whereas I cannot have so beautiful conversations (even if short) in France. Gratitude for this 😁. Twitter can be really great sometimes 😂.
@beadadkidsneed@SaveYourSons Sorry if I was rude. I didn't want to blame you. By reading you, I understand you're a great teacher 😁 ! I blame an institution, all the fool occidental educational institutions for destroying love of sport, of science, of studying, of personal growth... A hardcore topic 😂😂
@Kuraessu@DigitalGanon@sveltejs Oh non, pas nécessairement 😁 ! Tu peux autant décomposer ton projet que dans d'autres framework. Au contraire, je trouve SvelteKit plutôt modulaire, et pour le moment je prends vraiment plaisir à bosser avec.
@Kuraessu@DigitalGanon@sveltejs Il y a SvelteKit 😁. Alors, après c'est toujours qu'un goût personnel, mais comme c'est n'est plus du Shadow Dom mais un interpréteur, coder avec svelte est beaucoup plus intuitif et rapide qu'avec react ou autre. Quand j'ai découvert svelte, j'ai eu l'impression de revivre 😂