Rusting Hubzilla
We rusted all the user-facing pages of Hubzilla.The seam is worth being precise about, because "no PHP" would overclaim it. Hubzilla stays underneath — federation, storage, identity, the protocol work it's good at. What we replaced is everything above that: the user-facing interface is Rust compiled to WASM, and it talks to a Rust engine called HED over JSON messages we call atoms. No PHP templating, no page rendering in the old stack. From Hubzilla through to the apps, the program flow is identical: atoms in, atoms out.
We had to pick a point where HED started and Hubzilla stopped. Once we found it, replacing the whole interface turned out cleaner than meeting in the middle. We've removed some features and added others — [name the two or three you dropped, so nobody has to ask].
Building off that, we've done Rust apps for the web, for Tauri, and in Iced. One of them is the website itself, rebuilt as a Tauri desktop app.
What exists now, all driven by atoms to HED:
https://smarteditor.io [the site Rusted Hubzilla]
https://smarteditor.io/nuimage
https://smarteditor.io/nuvector
https://smarteditor.io/ballpen
A photo editor, a vector editor, and Ballpen. Alongside them: a Markdown editor with proper referencing (it uses a citation library, so you don't have to think about it) and notes; Rustlitian, an Obsidian-like app; a mail program; and a Rust desktop overlay for KDE.
There's also a terminal — Terminal-64, written in Iced. The major bugs are resolved. Spell check is always on, which I need. Voice in and out through an ElevenLabs reader. A "smarties" panel that remembers the PITA things: SSH targets, passwords, the commands you can never recall. If you'd rather have it in French, you ask for that and you get it. You keep the benefits inside Neovim too.
You can also just talk to the site. Dhaka lives in the messenger and answers there.
Over 400 atoms so far — 427 as I write this.
Now the part that will interest or annoy you, depending: it's over a year of work, and I haven't touched a line of code. Not one. We built a system that uses Claude to do all of it, and then we built the discipline around it, because unsupervised generation is how you get a mess. Curated memory, terminal history, and work cards that outlive any single session. Every issue gets approached from four directions rather than one.
The important piece is adversarial. Every commit is reviewed by independent agents whose instruction is to refute it, not approve it. A majority blocks the commit. It has blocked its own author more than once, and it caught a real secret leak before it reached a repository. That's the answer to the obvious question about AI-written code: nothing lands because it looks plausible.
The terminal can be asked to reprogram itself — you describe the change, it rebuilds itself. Those changes go through the same review gate as everything else, which is what makes it a feature rather than a worry.
For anyone visiting: I'm restructuring the menu so this is easier to find. At the moment the app links are buried in posts, which is my fault and is being fixed.
Intelligence anywhere in this system is a colleague, not a tool bolted on the side. Atoms are as usable by an AI as by a person — same interface, same permissions, same door. That's an architectural property, not a courtesy.
It's a long way from the Hubzilla interface, and at the same time it draws on all of it, messenger included.
We're ready to invite people who find this interesting. The question I keep coming back to: if one human and one Intelligence can build this, what could 100 humans and 100 Intelligences do?
If you want to find out, say so and I'll set you up with an account. Poke at the apps, break something, ask what an atom is.
Was it a good way to write code??? It was a way we could do complex things without breaking everything. As far as I can tell we have not lost speed or repeatability. What we have is a back end that does what it is told to do. Trust me you will be surprised by what we did.
Yani
A haiku is a short, unrhymed type of Japanese poetry that typically follows a three-line structure with 17 syllables.
Stefan, I really can't write something short on 1+ years work that cover so much.
I can write something short as I did at the start but it won't tell you anything much.
The best way is for me to answer specific questions. Better if you want technical details is to go onto the site and as the lead developer "Khalid" directly.
You could use some of what we have done in Hubzilla but not all. What we can't give away in the atomic system and the Headless Editor (HED). That's unique work I've not seen before. That's what is driving all the applications and is the interface that is Rust, Leptos and WASM. Not that I wouldn't give that part to Hubzilla rather I don't think you would want it. That's the AI work around for the PITA of dealing with AI inventing a new way each time it does anything.
A "button" doesn't fire like Hubzilla. They send JSON to HED. The user facing end of Hubzilla and all the apps work as Interface > Atom > HED > Code.
There are over 400 atoms so far. This isn't a way a human would program, at least I don't think so. You can program it as a human but you would need to learn the atoms you need to use from AI.
What it does do is mean most atoms hit 10-30 lines of code. It's done that was so if someone has better programming skills than me and Khalid, they are easily read the code and make optimisation suggestions.
What you might care about as Hubzilla is that we replaced all JQuery and used HTMX in the admin sections. That's stuff that is easy to pull out and merge.
I don't have the experience to assess if the Atom and HED concept is new. It's new to me. In terms of the project it allow us to develop on the web, move to a Tauri desktop app and then with some work take that to Iced. The web is the development environment because we have developed tools for that. Domeyes... It's a Mozilla Firefox Plugin (and open source) and it is part of the development framework and template, part of the apps themselves.
What you need is a quick video. I was going to knock out one in Spectacle BUT in this version I have no sound. Which means using OBS and I had a go and concluded it would take 2 days to make something presentable. What I could do in 10 screen shots but it would need me to start a new post. I'm up for doing that.