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
It does by nature need to end in an Open Software license. That's part of the general ethical commitments. We are changing code too fast to engage on code ATM.
What I can say on code is that most atoms trigger code of about 30-40 lines that is fairly isolated. So hand tuning improvements doesn't require understanding the code base.
We have a concept of "spooning" code as opposed to "furking it".
It's in a design state with part of the code done waiting for an interface. You need to be into the story more before that will be your next.
I can’t and won’t criticise the fact that quite a few things don’t work (yet?)… I realise that this is a project still in development. Unfortunately, the interface isn’t particularly intuitive either (at least not until you know what it’s actually supposed to be).
Is it some sort of “feasibility study”?
So is the aim to determine whether Hubzilla can be run “headless”, so to speak, and to offer a completely standalone UI for it?
The Solidified theme is currently demonstrating convincingly that this is possible. And with Rust, it also seems to be possible… and why not? The main problem with such a UI, which operates completely independently of Hubzilla’s own interface, is that virtually all functions have to be completely rebuilt from scratch. And that also applies to the add-ons. These, too, would have to be recreated. External add-ons would, of course, no longer be usable, unless there were a suitable interface allowing developers to build their own version for the new UI.
Or is this a feasibility study to find out whether an interface can be ‘vibecoded’ from scratch? Well, that also seems possible (at least in terms of what Smarteditor can do now, and what it cannot yet do). The question of whether it’s desirable to create software that has been virtually entirely generated by AI (“It’s over a year’s work, and I haven’t touched a line of code. Not one.”) is one everyone must answer for themselves. For me, it isn’t. But that’s my personal view, and it applies both to creating the software and to using it (which is why I’ll only use this account and channel until my curiosity is satisfied, and then I’ll delete them).
In any case, I’m not quite making sense of the whole thing yet, especially as the site doesn’t really seem to offer any practical benefit at the moment.
BTW: I’ve now managed to log in… and I’m at a loss. I’ve no idea what I’m actually supposed to do with an account. What’s the point? What are you supposed to do with the interface? What’s it for?
If the question is "can we use this in our own sites" then absolutely. If we are going to draw a line on that isn't decided or defined.
You can ask to see code in Laozi and make comments on it for review. There should not be a means exposed to edit code directly.
Have you tried to use ai to put a Rust front end on Hubzilla? How did you go at it? We built a whole toolset to do these edits. That's what I want you to see. You don't have to like the tools, the tools can be altered to be what you do want.
I want to answer your comment respectfully Max. It's definitely not ai nonsense. It's not anything like copilot. And it isn't Claude anymore.
You can pick on me for the apps having serious bugs that I haven't fixed. It does something I don't think anyone has done. Build software over Hubzilla. We have Hubzilla in WASM! We are well beyond "nonsense"thanks very much. We are into a total insanity in an unknown universe.