Syntax - Tasty Web Development Treats

984: How to Make a DOM Library Render Anything w/ Paolo Ricciuti

24 snips
Mar 4, 2026
Paolo Ricciuti, Svelte maintainer who builds compiler internals and custom renderers at Mainmatter. He talks about making Svelte target non-browser platforms, the challenges of Svelte talking to the DOM, and building custom runtimes like Lynx. Short, technical, and full of engineering tradeoffs.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
ANECDOTE

From Ambassador To Svelte Maintainer

  • Paolo started as a Svelte ambassador, then contributed to Svelte 5 internals and reactivity, which led to becoming a maintainer.
  • He learned the compiler/AST by fixing small issues, then progressively took on harder tasks until maintainers invited him in.
INSIGHT

Svelte Compiles To Direct DOM Operations

  • Svelte compiles components to JS that manipulates the DOM directly instead of using a virtual DOM diffing layer.
  • Paolo shows compiled output like $.firstChild and $.setText to illustrate Svelte emits imperative DOM operations at build time.
INSIGHT

Compiler Now Emits Structured Element Trees

  • Svelte's compiled output originally embedded static HTML as strings and used template.innerHTML to create elements.
  • Paolo changed the compiler to emit a structured array of element descriptors so renderers can avoid innerHTML and support CSP and non-HTML targets.
Get the Snipd Podcast app to discover more snips from this episode
Get the app