In 2024, I started a new job at Attio, on the Ecosystem Team, helping to build out an extensions SDK to allow third parties to build apps to add functionality to the base CRM product. When I joined the two coolest parts of our app infrastructure were just nacent proofs of concept:
- Executing third party code in a custom JavaScript runtime built with C and Rust in a WASM runtime, in an iframe, that could communicate back out of the runtime, out of the iframe, with the webapp, and then to the server, which executed third party server code in the same – but with slightly different capabilities – custom JavaScript runtime in The Cloud.
- A custom React reconciler and renderer that would allow third party client code to "render UI" in a way that could be passed back out of the runtime, out of the iframe, and to the webapp for us to render our own beautifully designed components.
This combination makes for an incredibly secure and ergonomic app development experience. DX is my passion!
When deciding on a talk idea for 2025, I was certain that I wanted to talk about custom React renderers, because, once I saw the inner workings of one, something clicked in my head about the immense power it allowed, and I felt the need to let the world know. ChatGPT and I brainstormed dozens of ideas, most of which were utter crap, but when we got to the right one, my brain immediately understood what good stagecraft it allowed; it was gonna be a show to delight audiences!
I set about figuring out how to build it. This is the fun part of talk prep!
I've seen enough talks tank for relying on conference wifi, so I knew that wifi was out of the question. I settled on a way to control smart lights with MQTT.js and the Zigbee protocol using Zigbee2MQTT. It was not as hard as I expected it to be what with my LLM sidekick reading docs for me.
The result was one of the best talks I've ever given, in my opinion. In 2025, it took me to London, Rome, Madrid, Greece, Oslo, Skopje, Alicante, New York City, and finally back to London to round out the year. I have so many great memories of time spent with old friends and new blossoming friendships; I am forever grateful that I have the privilege to travel like this.
The Talk
You can also watch the Alicante, New York City, London versions, or watch a 20 minute podcast interview I did about it.
I'm embarrassed to say that it took me halfway through the year before I came up with the line, "And it wouldn't be a React talk with props!!" line as I pulled out the light bulbs.
As I have often been asked after giving it, all the code from talk, both projects, can be found here.
Thank you for reading, and I hope to see you in 2026!