Tombstone
Adama RxHTML: HTML as a stateless function of the server
Apr 2022 โ Apr 2026 ยท age 40โ44
What it was
A template language of ordinary HTML with a few additions: a <forest> of pages and templates, rx: attributes for iteration and conditions, {data.x} and {view:x} expressions, inline conditionals inside attributes, and verb:arg commands in event handlers. The compiler turned all of it into JavaScript closures that bound each data path to exactly its DOM node, with no virtual DOM. The browser kept two trees, the document's data and its own view state, and pushed the view state back so the server could recompute per-viewer formulas. A type checker read the backend's reflection and warned when a page referenced a field its privacy policies could not see. In 2024 it grew a server-side half for talking to a PHP backend, and that was the half the company's own website ended up using.
Wins, for the age
- At forty, Jeff argued in public that "you don't need React" if the backend is reactive, then built the compiler to prove it. Few primates bother to build the proof after the argument.
- Checked templates for privacy against the document's reflection, so a page that shows a field it should not see is caught at compile time. Typed templates are common; a privacy-aware check still has no popular equivalent.
- Found on their own what Svelte (2016) had found, templates compiled to direct bindings, and what Phoenix LiveView (2019) had found about round-tripping view state to the server.
- A golden corpus of templates compiled into test classes, answering an earlier public confession of "zero tests".
- Wrote the exit into the design: small enough that "any reasonable developer could convert the RxHTML template to React".
What it taught
- If the backend is reactive, the client can be a function.
- A template language needs a type checker and a golden corpus from the start, or it drifts.
- Watch which half gets used. The flagship site used only server pages, and the reactive half was frozen from February 2026.
- Trusted markup needs one audited path, not a shortcut labelled "TOTAL HACK FOR A DEPLOYMENT".
Genealogy
Ancestors: HUROX: a template compiler and a browser runtime, built at twenty-four for a social network. Descendants: Opinion Panel: RxHTML routes serving PHP fragments at pretty URLs. Part of: Adama.
Epitaph
HTML that bound each field to its own node and asked the server what the viewer may see, with a door to React built into the wall. Its flagship site used only the half that rendered on the server.