Ladybird is a new browser (and engine) built completely from scratch. It was originally only usable on SerenityOS, but it’s now expanded into its own cross-platform browser.
This talk will tell the story of Ladybird, starting from nothing in 2019, to where we are today, and share some of the challenges we’ve faced along the way.
I will also give an architectural overview of the engine.
Ladybird is a new browser (and engine) built completely from scratch. It was originally only usable on SerenityOS, but it’s now expanded into its own cross-platform browser.
This talk will tell the story of Ladybird, starting from nothing in 2019, to where we are today, and share some of the challenges we’ve faced along the way.
I will also give an architectural overview of the engine.Thomas Steiner - Built-in AI APIs for the WebWeb Engines Hackfest2025-06-20 | Web Engines Hackfest 2025 - webengineshackfest.org/2025
There are many use cases for AI, ranging from transcribing audio, describing images, getting writing assistance, having texts proofread, to translating content, and many more, including general prompting of an AI model for all sorts of purposes. For realizing these use cases, you broadly have three options: (i), send your data to an AI model running somewhere on a powerful server in the cloud, (ii), download a possibly large model file to the client and run it locally, or, (iii), use shared models built into a device or browser, which is the topic of this talk. On the Chrome team, we’re proposing a number of APIs [1] that we and partners we’ve worked with think would be worthwhile to have as common Web platform APIs. In this talk, I’ll give an overview of these APIs and briefly demo their implementation in Chrome, and then want to open the floor for some general discussion and feedback.
AT Driver is a protocol for controlling assistive technology (AT) like screen readers. It’s being developed as a component of the ARIA-AT project but with a much wider audience in mind.
In this talk, we’ll explore the unique challenges of automating ATs, share the latest implementation status, review concurrent standards work that also surfaces the experience of AT users, and discuss the future of these efforts.Adrián Pérez de Castro - Jumping Over the Garden Wall - WPE WebKit on AndroidWeb Engines Hackfest2025-06-19 | Web Engines Hackfest 2025 - webengineshackfest.org/2025
Introduction and history of the WPE-Android project, and how having a flexible, embeddable Web engine allowed making it work in an unexpected platform, bringing the original Android system web engine back. But, what for?Christian Ulbrich - Versioned Web ComponentsWeb Engines Hackfest2025-06-18 | Web Engines Hackfest 2025 - webengineshackfest.org/2025
While Web Components are far from new, they are seeing more and more adaption for a multitude of use cases, both as containers for micro-frontends as well as a way of building framework agnostic UI libraries. One of the biggest challenges is, that there is no way of overriding existing web components, or more precisely custom elements can only be defined once for a certain tag name. While there is a proposal for alleviating this, called scoped custom element registries, it never came really to fruition and has several problems.
I want to show a proposal of how Web Components can be versioned, i.e. how a custom element with the same tag can be updated in the life cycle of a web application as well ““versioned””. I have extensively worked on web components in the past and I have a very rough prototype, that can show case this technique and I am looking for feedback + input, so that we will find a way in the future to address this issue and make web components more powerful.Haukenes, Barash & Carr - Cross-Engine Contributions at Scale: How newcomers accelerated Temporal...Web Engines Hackfest2025-06-18 | Web Engines Hackfest 2025 - webengineshackfest.org/2025
Join us for a story through our journey implementing TC39 proposals in SpiderMonkey, V8, and Boa.
We will examine how easy or difficult it is for new contributors to engage with each project, highlighting the challenges of navigating engine internals, what helped us get unstuck, and how we translated that experience into a community-focused tutorial. We will demonstrate the practical impact in implementing Upsert and discuss how Rust smoothed the onramp for contributing Temporal in Boa and V8.
We would like to thank Daniel Minor, Kevin Ness, and Philip Chimento for helping bring these projects to life.Joyee Cheung - Bridging CommonJS and ESM in Node.jsWeb Engines Hackfest2025-06-17 | Web Engines Hackfest 2025 - webengineshackfest.org/2025
ESM has become stable in Node.js since 2020, but the adoption of it in the ecosystem turned out to be slower than expected and the interoperability between CommonJS and ESM has been a common source of pain for developers - interestingly, one of the important factor was the lack of support of require(esm) in Node.js. This gap started to be filled since 2024 and by May 2025, all supported release lines of Node.js would support require(esm). In this talk, we will take a look at history of CommonJS/ESM interoperability, how require(esm) works in Node.js under the hood, and the challenges we encountered during its rollout.Leo Kettmeir - JSR: under the hood & native support in the ecosystemWeb Engines Hackfest2025-06-17 | Web Engines Hackfest 2025 - webengineshackfest.org/2025
The JavaScript Registry (JSR) is a modern alternative to npm—natively supported in pnpm, Yarn and Deno—yet still unsupported in npm and Node.js, leaving a gap in the module ecosystem and making it awkward for module authors.
This talk will go into how various aspects of JSR are architected, its capabilities and feature, how current tooling supports it, and how more can add support natively.Andreu Botella & Luca Casonato - WinterTC: a standard for server-side runtimesWeb Engines Hackfest2025-06-16 | Web Engines Hackfest 2025 - webengineshackfest.org/2025
Server-side and edge JavaScript runtimes (such as Node.js, Deno, Bun, Cloudflare Workers…) have been adopting more and more web APIs over time. However, the web specifications that define these APIs are typically written with browsers in mind, without much regard for server-side runtimes, which has led to differences among those implementations.
In 2022, we started working towards solving this problem in a W3C Community Group called WinterCG, which also specified a Minimum Common API for server-side and edge runtimes, so that code can be written against a standard that all such runtimes would support. However, due to its charter WinterCG could not publish standards, which is why in December 2024 we took the next step in that direction, which was to move WinterCG into an Ecma Technical Committee called WinterTC. We explore why this move was necessary, what are the goals of WinterTC, and what we are working on.Oliver Medhurst - Compiling JavaScript ahead-of-timeWeb Engines Hackfest2025-06-16 | Web Engines Hackfest 2025 - webengineshackfest.org/2025
Essentially all JS engines today are just-in-time, but what about compiling ahead-of-time like C++ or Rust? Previously dismissed, it is having a resurgence with new open-source projects like Porffor which I’ll discuss in this talk!Web Engines Hackfest 2025Web Engines Hackfest2025-06-02 | Monday 2nd June 2025.
Talks: * 0:00:00 - Compiling JavaScript ahead-of-time by Oliver Medhurst * 0:29:33 - WinterTC: a standard for server-side runtimes by Andreu Botella, Luca Casonato * 1:32:30 - JSR: under the hood & native support in the ecosystem by Leo Kettmeir * 2:01:38 - Bridging CommonJS and ESM in Node.js by Joyee Cheung * 2:38:45 - Cross-Engine Contributions at Scale: How newcomers accelerated Temporal and Upsert in SpiderMonkey, V8, and Boa by Jonas Haukenes, Mikhail Barash, Shane Carr * 5:00:00 - Versioned Web Components by Christian Ulbrich * 5:29:13 - Jumping Over the Garden Wall - WPE WebKit on Android by Adrián Pérez de Castro * 6:29:54 - Automating Assistive Tech with Standards by Mike Pennisi * 6:53:00 - Built-in AI APIs for the Web by Thomas SteinerNikolas Zimmermann - Status of the Layer-Based SVG Engine in WebKitWeb Engines Hackfest2024-06-17 | Web Engines Hackfest 2024 - webengineshackfest.org/2024
LBSE is a new SVG engine for the WebKit project that aims to unify the HTML and SVG rendering pipelines. On this talk we’ll review the activities around LBSE in the past year plus an outlook to the next months.Nico Burns - Blitz: a truly modular, hackable web rendererWeb Engines Hackfest2024-06-17 | Web Engines Hackfest 2024 - webengineshackfest.org/2024
Blitz is new web rendering engine that doubles down on Servo’s promise of modularity and hackability by combining a mix of Servo, Rust UI ecosystem, and bespoke components. It also (currently) eschews JavaScript scripting in favour of a Rust scripting API that can be driven directly by Dioxus or other Rust state management / reactivity frameworks.
This talk covers how Blitz’s approach differs to a traditional web engine, use cases, challenges, progress, and future plans.Leo Kettmeir - History of WebGPU in DenoWeb Engines Hackfest2024-06-17 | Web Engines Hackfest 2024 - webengineshackfest.org/2024
Deno has supported WebGPU since early 2021, however, there were several challenges in providing a performant WebGPU implementation. This talk will cover the series of events and changes required to achieve support.Stephanie Stimac - Sustainable Futures: Funding the Web EcosystemWeb Engines Hackfest2024-06-17 | Web Engines Hackfest 2024 - webengineshackfest.org/2024
The web is a vital source of the world’s infrastructure and has shaped the way we work and live in the modern world. Surely such an integral piece of our day-to-day life is being built and maintained in a way that ensures it will last?
Unfortunately this isn’t the case. The current system funding access to the web is fragile, fractured and unsustainable. In this talk, I’ll give an overview of the current state of things, how we currently fund the web, why this is a problem, and possible ways to fix this so that access to information remains stable and sustainable for future generations to come.Aapo Alasuutari - Nova JavaScript Engine - Exploring a Data-Oriented Engine DesignWeb Engines Hackfest2024-06-17 | Web Engines Hackfest 2024 - webengineshackfest.org/2024
In this talk we explore the benefits and drawbacks of writing a basic JavaScript engine in Rust using a data-oriented approach. This draws a stark contrast with the naturally object-oriented design of the ECMAScript specification and how most mainstream engines are built.Antonio Gomes & Max Ihlenfeldt - The journey towards stabilizing Chromium’s Wayland supportWeb Engines Hackfest2024-06-17 | Web Engines Hackfest 2024 - webengineshackfest.org/2024
Chromium has had experimental support for Wayland for some time, and is moving towards stabilizing it. Let’s take a look at how we got to where we are now, and at what’s still missing before it can be stabilized.Martin Stransky - Firefox Wayland post mortemWeb Engines Hackfest2024-06-17 | Web Engines Hackfest 2024 - webengineshackfest.org/2024
Mozilla switched to Wayland by default recently. Let’s make some retrospective what are advantages/disadvantages of such decision and how it was received by users. Highlight what’s working fine and where we still have issues.Jonathan Kuperman - The Future of Source MapsWeb Engines Hackfest2024-06-17 | Web Engines Hackfest 2024 - webengineshackfest.org/2024
Originally developed in 2009, source maps have become ubiquitous, consumed by all major browsers and generated by every bundler in the JavaScript ecosystem. While the support for them is widespread, the specification itself has remained largely unchanged since 2009. Because of this, feature development has been very difficult to navigate. Some browsers have added their own functionality, but without the ability to influence the tools generating source maps, support is limited.
In 2023, we formed a group specifically dedicated to the completion and modernization of source maps. We presented to TC39 in July and became an official TC39 Task Group. Since then, we’ve been hard at work rounding out the current specification, looking forward to new features and making sure everyone agrees on the existing features. This talk will be focused on the new and exciting features we’re bringing to the specification. We’re actively working on Debug IDs for easier identification in error monitoring tools, Scopes for improved and consistent variable name and scope information in debugging tools and Range Mappings for helping debuggers find more accurate places in source code.Web Engines Hackfest 2024Web Engines Hackfest2024-06-03 | Monday 3rd June 2024.
Talks: * 1:18:25 - The Future of Source Maps by Jonathan Kuperman * 2:18:15 - Firefox Wayland post mortem by Martin Stransky * 2:45:56 - The journey towards stabilizing Chromium’s Wayland support by Antonio Gomes & Max Ihlenfeldt * 3:20:27 - Nova JavaScript Engine - Exploring a Data-Oriented Engine Design by Aapo Alasuutari * 5:47:12 - Sustainable Futures: Funding the Web Ecosystem by Stephanie Stimac * 6:21:21 - History of WebGPU in Deno by Leo Kettmeir * 6:43:44 - Blitz: a truly modular, hackable web renderer by Nico Burns * 7:18:48 - Status of the Layer-Based SVG Engine in WebKit by Nikolas ZimmermannDelan Azabani - Servo 2023Web Engines Hackfest2023-06-08 | Web Engines Hackfest 2023 - webengineshackfest.org/2023
Servo is a web engine written in Rust. After parts of it were integrated into Mozilla Firefox, the project became independent but dormant in 2020. This year, with renewed interest in using it as a standalone embeddable engine, Servo is returning to active development.
This talk will go over the work we’ve done so far and our plans for the rest of 2023, particularly in Servo’s layout system, as well as how you can help.Žan Doberšek - Status of the WPE & GTK WebKit portsWeb Engines Hackfest2023-06-08 | Web Engines Hackfest 2023 - webengineshackfest.org/2023
A speedrun through recent and future changes around the two Linux-based WebKit ports.
We'll examine the current state of both Linux-based WebKit ports, covering recent and ongoing relevant changes inside the project as well as in the surrounding ecosystem. An examination of future architectural changes will be presented, along with proposals of baseline solutions and subsequent envisioned ramifications.Zalim Bashorov - Inside Kotlin/Wasm (or how your language could benefit from new proposals)Web Engines Hackfest2023-06-08 | Web Engines Hackfest 2023 - webengineshackfest.org/2023
Kotlin — is a modern, cross-platform, statically typed, general-purpose programming language developed by JetBrains. It targets JVM, including Android; JS; native platforms via LLVM, including iOS; and Wasm (added recently).
WebAssembly aka Wasm — You know…
Kotlin/Wasm — is the new target and toolchain in the Kotlin family. It has a few special properties:
It compiles to Wasm directly without any additional layers, to compile as fast as possible, including incrementally in the future. It uses experimental/fresh proposals like GC, Typed Function References, Exception Handling, and Stringref.
In this talk, we will look deep inside the internal details of the Kotlin/Wasm technology stack and, look at how the Kotlin code is compiled into WebAssembly, look in-depth at the generated code and its structure. We will discuss how the Kotlin/Wasm compiler handles the language features of Kotlin, such as classes, virtual and interface calls, coroutines, and others using fresh and experimental proposals like GC, Exception Handling, Typed Function References.
The talk targets developers interested in the internals of Kotlin/Wasm and wants to have a deeper understanding of how Kotlin or similar languages could be compiled to Wasm, what is brought by mentioned/used proposals and how they could be helpful to other languages targeting WebAssembly.Nicolò Ribaudo - JavaScript Modules: Past, Present, and FutureWeb Engines Hackfest2023-06-08 | Web Engines Hackfest 2023 - webengineshackfest.org/2023
For decades, JavaScript developers have relied on a multitude of module systems to organize and share code. But in 2015, ECMAScript finally introduced built-in standard semantics for modules, providing a long-awaited solution for the language. While ECMAScript modules have quickly become a popular format for writing code, most published code is still compiled to a single bundle or to a legacy module system.
The TC39 committee is actively exploring this design space: are there any missing functionalities compared to previous systems? Do JavaScript developers need any capabilities that the language does not currently provide? What problems do ECMAScript modules currently cause?Web Engines Hackfest 2023Web Engines Hackfest2023-06-05 | Monday 5th June: 12:00 CEST to 13:30 CEST & 15:00 CEST to 18:00 CESTThomas Steiner - Expanding whats possible on the Web: Project FuguWeb Engines Hackfest2022-07-06 | Web Engines Hackfest 2022 - webengineshackfest.org/2022
In this talk, I will give an overview of recent Project Fugu APIs that have been implemented in Chromium and sometimes other engines. With a special focus on cross-browser support, I will show how developers can leverage these APIs in their applications with progressive enhancement for fun, and sometimes even profit.Ada Rose Cannon - Introduction to WebXRWeb Engines Hackfest2022-07-06 | Web Engines Hackfest 2022 - webengineshackfest.org/2022
WebXR is a Web API to enable web pages to render WebGL/WebGPU content to VR and AR devices. It's large spec consisting of a core part and many modules to increase the functionality on specialised hardware.
This talk will be an introduction to the WebXR APIs explaining how the core API works and explaining the uses of the additional API features and where they are used.Daniel Minor - Modernizing Internationalization in Gecko and SpiderMonkeyWeb Engines Hackfest2022-07-06 | Web Engines Hackfest 2022 - webengineshackfest.org/2022
In 2021, the internationalization team at Mozilla refactored the internationalization system in Gecko and SpiderMonkey, from an organically grown patchwork of APIs and callsites, to the first purposefully designed internationalization architecture in the history of the engine. We built an abstraction layer based upon ECMA-402 standard for internationalization in JavaScript and unified all of our code to use these interfaces. We can now localize Firefox using the same APIs we expose to SpiderMonkey and the web, reducing duplication and ensuring consistency of results. Beyond this, we can now experiment with replacing ICU4C with ICU4X, a library we are developing with Google and other partners. Written in Rust, it is purpose designed for the needs of the web: smaller, faster, more secure, and developed to support ECMA-402 directly. In 2022, building on our unification project, we are beginning to integrate ICU4X into Gecko and SpiderMonkey. In this presentation, we’re going to look at internationalization, how it is implemented in a web engine, and Mozilla’s experiences integrating a new internationalization library.Dominik Röttsches - COLRv1 color vector fonts in Chrome and OSSWeb Engines Hackfest2022-07-06 | Web Engines Hackfest 2022 - webengineshackfest.org/2022
In this talk, I'll present how we shipped COLRv1 in Chrome and what open-source software components are the basis of COLRv1 support in Chrome.
I will do a short technical overview of how COLRv1 works and how it achieves compact font files for color vector fonts at high rendering fidelity.Leo Balter - Working with Browsers and Web Standards as PartnersWeb Engines Hackfest2022-07-06 | Web Engines Hackfest 2022 - webengineshackfest.org/2022
Non-browser vendor companies and organizations have a great opportunity to contribute to the Web for the benefit of everyone! Shipping new features on the web is only part of the job. Tracking impacting or breaking changes is likewise important and the same weight goes to handling browser bugs. This work can be meaningful to avoid excessive developer workarounds and improve web compatibility.
This presentation provides an overview of challenges and support from enterprise companies such as Salesforce to partner with standards bodies - and Igalia! - and how this work can be done to move the Web forward!Web Engines Hackfest 2022Web Engines Hackfest2022-06-14 | ...Web Engines Hackfest Live StreamWeb Engines Hackfest2022-06-08 | ...Chris Lord - 2021 WPE WebKit Graphics ReportWeb Engines Hackfest2021-05-12 | Web Engines Hackfest 2021 - webengineshackfest.org/2021/