Svelte Radio

Kevin Åberg Kultalahti

Details

Things about Svelte. Sometimes weekly, sometimes not.

Recent Episodes

MAR 6, 2026
npmx shows what npmjs won't
Jeppe hosts with Brittany. Guests: Patak (Matias Capeletto, Vite core team) and Zeu Capua (zeu.dev, software engineer, Svelte ambassador). What is npmx? A fast, open-source browser for the npm registry. It consumes the npmjs REST API and adds a better UI and more useful data on top. Started by Daniel Roe (Nuxt lead) ~40 days before recording. Patak joined as co-steward after seeing a two-day prototype. Features beyond npmjs.com ESM vs CJS detection per package Bundle size and install size Color-coded dependency freshness (yellow = patch behind, red = major behind) e18e module replacement warnings when a lighter modern alternative exists Package claiming via UI (available locally if you fork the repo) Planned: publishing and package management flows Svelte is #1 Most liked package on npmx at time of recording: Svelte (173), Nuxt (101), Vite (96). Picks Zeu: Hypermedia Systems by Carson Gross. Free online at hypermedia.systems. Brittany: Starter Villain by John Scalzi. Comedy about inheriting a villain business. Patak: The community blog posts from the npmx launch. Read them if you need a reminder that open source can still be fun. Jeppe: Cordless hot glue guns. 10 seconds to heat up, fixes everything. Hot takes Zeu: Stop putting "blue" or "sky" in AT Proto app names. The protocol needs to grow beyond Blue Sky. Patak: He's stopped coding in open source. Focusing on people, calls, community. Open source needs more non-coders. Links npmx Alpha Launch Blog Post npmx.dev npmx GitHub npmx Discord npmx Open Collective Zeu Capua / @zeu.dev on Blue Sky Eurosky Open Source Pledge Hypermedia Systems
57 MIN
FEB 10, 2026
How did Svelte do in the State of JavaScript 2025?!
Kev and Jeppe, discuss the cold weather in Denmark and Sweden compared to Hawaii. They highlight that "Svelte Radio" has ranked number 13 (effectively number 12) in the podcast section of the State of JS 2025 survey, placing them among the "mainstream" podcasts and slightly increasing the pressure to produce relevant content. State of JS: Frameworks The hosts analyze the survey results for JavaScript frameworks: Svelte: Usage increased slightly to 27% (up from 26%). It maintains the highest interest rating for the sixth consecutive year, though interest is slightly declining—a trend seen across most frameworks. Satisfaction remains high at number two (86%), just behind Solid. React: Continues to dominate with 70 million weekly downloads, but interest and satisfaction are declining. The hosts discuss the complexity of React Server Components (RSC) and the risks of framework developers losing touch with practical usage ("dogfooding"). Solid: Rising in interest and taking the number one spot for satisfaction. HTMX: Saw a significant drop in interest, described as a "meme" that has cooled down. Web Components: Chatter is growing (e.g., Lit), but usage remains relatively low compared to the push from DevRel teams. State of JS: Meta-Frameworks Next.js: Leads usage significantly at 59% but has low satisfaction, barely beating out Gatsby. Astro: Growing rapidly (27% usage) and ranked number one in satisfaction. Its strength lies in supporting multiple frameworks (React, Vue, Svelte). SvelteKit: Ranked number two in satisfaction. Interest is declining, likely due to the framework maturing. TanStack Start: Noted as a popular write-in option and a strong new alternative to Next.js. Analog: Mentioned as an Angular meta-framework powered by Vite. Libraries & Developer Tools The hosts discuss various libraries and tools featured in the survey: Validation: Zod is the most used, but Valibot is recommended as a smaller, tree-shakable alternative. Both libraries support the new "Standard Schema" initiative. Linting: Oxlint is highlighted as a much faster, Rust-based alternative to ESLint. Package Management: The tool ni is recommended for running package manager commands (install, run scripts) agnostically without needing to remember if a project uses npm, yarn, or pnpm. Date Libraries: Day.js, date-fns, and Luxon remain popular. The hosts anticipate the upcoming JavaScript Temporal API may eventually replace these. jQuery: A new version was released that drops Internet Explorer 11 support and migrates to ES modules. Picks & Actionable Items The hosts conclude with their picks for the week: Kev's Pick: The TV show "A Knight of the Seven Kingdoms" (Game of Thrones universe). Jeppes's Pick: npmx.dev, a modern, interactive interface for the NPM registry that includes vulnerability alerts and dependency graphs. Actionable Items: Try ni: Use the ni CLI tool to handle package manager commands automatically across different projects. Contribute to npmx.dev: The project is looking for contributors. It is described as a friendly community for those wanting to get into open source. Avoid AI Spam PRs: If contributing to npmx.dev or other projects, ensure contributions are genuine and not low-effort, AI-generated pull requests.
53 MIN
DEC 11, 2025
Custom Renderers for Svelte with Paolo Ricciuti
In this episode of Svelte Radio, we welcome Jeppe as a new permanent host and sit down with Paolo Ricciuti, Svelte maintainer and Senior Software Developer at Mainmatter, to dive deep into Svelte custom renderers. Paolo walks us through how custom renderers work (using React's approach with React DOM, Ink, and React Native as context), explains the technical challenges of bringing this capability to Svelte 5—including the template element trick, CSP issues, and runtime modifications—and shares his proof-of-concept work enabling Svelte to render to non-DOM targets like terminals and native mobile apps via Lynx.js. The discussion touches on potential use cases like Threlte for 3D graphics, the importance of this feature for Svelte adoption, and wraps up with picks including Screen Studio, TMCP, and Advent of Svelte. Guest Paolo Ricciuti — Svelte maintainer and ambassador, Senior Software Developer at Mainmatter New Host Jeppe joins as a permanent co-host! Topics Discussed Custom Renderers Overview Svelte Custom Renderers website What custom renderers are and why they matter How React separates React (the diffing library) from React DOM (the renderer) Examples of React custom renderers: Ink — React for terminal/CLI applications React Native — React for iOS/Android native apps Remotion — React for programmatic video creation React PDF renderer for generating documents Svelte's Technical Approach How Svelte 5 uses the element and innerHTML for fast rendering The CSP (Content Security Policy) challenges with innerHTML Paolo's compiler option contribution to enable programmatic element creation The custom renderer API: defining operations like createElement, setText, setAttribute, appendChild, etc. Separating the Svelte runtime from DOM-specific code Lynx.js Integration Lynx.js — ByteDance's cross-platform framework (powers parts of TikTok) Why Lynx was the catalyst for custom renderer work CSS support in Lynx including Flexbox, Grid, and even Tailwind The difference between Lynx's element approach vs React Native's component imports Related Projects & Discussions Threlte — Three.js for Svelte (created by Grisha) React Three Fiber — Three.js React renderer Svelte Native — Existing (but limited) Svelte native solution LiveView Native (Elixir/Phoenix) as a comparison for multi-target templating Discussion with Grisha about mixing renderers in the same component Funding & Open Source Mainmatter's sponsorship of Paolo's custom renderer work First external sponsor for this initiative Discussion about using Svelte Open Collective funds for this feature Why custom renderers matter for Svelte adoption in enterprise Paolo's Recent Contributions to Svelte onChange callback for $state (PR in progress) from action utility CSP-friendly compiler option (foundational for custom renderers) Picks Screen Studio — screen.studio — Mac screen recording app with automatic zoom animations (Kevin's pick, used for Advent of Svelte recordings) TMCP — github.com/paoloricciuti/tmcp — Paolo's TypeScript MCP (Model Context Protocol) framework, praised for being much better than the official SDK (Jeppe's pick) Advent of Svelte — svelte.dev/blog/advent-of-svelte — 24 days of Svelte features and improvements (Brittany's pick) Links Svelte SvelteKit Mainmatter — Paolo's employer, specializing in Svelte and Rust consulting Ink (React CLI) React Native Remotion Lynx.js Threlte React Three Fiber Screen Studio TMCP Advent of Svelte Follow Paolo Ricciuti: GitHub | Bluesky Svelte Radio: svelteradio.com
60 MIN
DEC 6, 2025
One Man Svelte for NGOs with Ilja
Guest Ilja - Berlin-based developer specializing in building websites and data visualizations for NGOs. Svelte Ambassador. Topics Discussed Working with NGOs vs. traditional businesses Budget constraints and project-based funding The AfroZensus project Svelte 5 migration Berlin Svelte Meetup announcement Berlin Svelte Meetup Date: December 9th (Tuesday) Venue: Datawrapper's office in Berlin Talks: Peter from XYFlow presenting SvelteFlow, plus more Registration: https://svelte-berlin.de/ Links Mentioned Tools & Libraries svelte-render-scan (Visual debugging tool by Stanislav Khromov): https://github.com/khromov/svelte-render-scan svelte-inspect-value (Value inspector component): https://github.com/ampled/svelte-inspect-value SvelteFlow (Node-based UI library): https://svelteflow.dev/ Friendly Captcha (GDPR-compliant captcha): https://friendlycaptcha.com/ SparklePost (Native-feeling PWA demo): https://sparklepost.vercel.app/ @component documentation: https://svelte.dev/docs/svelte/basic-markup Companies & Organizations Datawrapper: https://www.datawrapper.de/ GitButler: https://gitbutler.com/ XYFlow: https://xyflow.com/ Projects Academic Freedom Index: https://academic-freedom-index.net/ AfroZensus: https://afrozensus.de/ AfroZensus Dashboard: https://data.afrozensus.de/ Courses Practical Accessibility by Sara Soueidan: https://practical-accessibility.today/ Unpopular Opinions Kevin: More people should self-host Brittney: Lost free Copilot access Antony: Store states, not effects Ilya: JSDoc is superior to TypeScript Picks Kevin: SparklePost, "You can just do things", The Hierarchy book series by James Islington Brittney: @component documentation Antony: Friendly Captcha Ilya: svelte-render-scan, svelte-inspect-value, Practical Accessibility course
73 MIN