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/nuimagehttps://smarteditor.io/nuvectorhttps://smarteditor.io/ballpenA 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