Skip to main content
Nicolò Ribaudo

Nicolò Ribaudo

Standards Engineer at Igalia

AmsterdamNorth HollandNetherlands🇳🇱
Open to:Contract roles

Highlights

Full profile

Career: 4

Standards Engineer

Igalia

Remote

Jun 2022 - Present

Maintainer and Developer

BabelJS

Remote

Aug 2017 - Present

Software Development Intern

Igalia

Remote

Jul 2021 - Jan 2022

Software Engineering Intern

Bloomberg L.P.

Remote

Jul 2020 - Sep 2020

Talks & sessions: 13

Fine-tuning native ESM performance

20 min

TC39 is working on two proposals, import defer and export defer, whose goal is to allow developers to extract better performance from native ESM, both in the browser and on the server. Let's go together through how they work, and when and where you'll be able to use them!

Delivered once · latest 2026 · AmsterdamJS

AmsterdamJS · May 21, 2026 · Amsterdam · Presenter · In person

View slides

Source maps: how does the magic work?

25 min

Your app breaks. Users are reporting problems. Tests are failing. You look at your code, and it all seems correct at a first glance (you wrote it, how could it be anything other than perfect!). Luckily, we have a stack trace that is going to tell us where the problem is: in function `rB()`, file `cHuNk-h5tY7y.js`, line 1, column 2734942, in `rB(x=(y,!0)){return-c||x,[pH]}`. You remember writing exactly that code yesterday evening, right? Most JavaScript code nowadays goes through a myriad of tools from when it leaves our fingertips to when it actually runs in a browser: it gets transformed, compressed, ripped apart, and put back together in pieces upside down. All these tools bring great benefits, but at a cost: debugging becomes incredibly hard. The good news? We have a solution for this: source maps! And they are becoming even better. Source maps are a set of instructions that the various build tools generate to tell the debugging tools how to undo the transformations that the code went through, so that we can pretend we are debugging the code we wrote rather than the code that is running. Their capabilities have been stagnant for many years, but recently TC39 started a group with the goal of standardizing and expanding what they are capable of. Let’s learn together how they work, and what’s coming next!

Delivered 2x · latest 2025 · SquiggleConf, JSDC Taiwan

SquiggleConf · Sep 19, 2025 · Boston, United States · Presenter · In person

View slides

JSDC Taiwan · Dec 21, 2024 · Presenter · Virtual

View slides

Teaching your editor a new programming language

QueerJS · Oct 15, 2024 · Paris, France · Presenter · In person

View slides

What's coming next to ECMAScript?

30 min

JavaScript is continuously evolving, with new features coming every year. Some say that it happens to fast, but everybody wishes some specific proposal would be implemented by browser right now. What new features can we use in now, and what can we expect soon? What are some more long-term proposed features that will have a potential huge impact of the ecosystem? We'll go together through these questions, while learning at the same time how JavaScript gets standardized!

Delivered 2x · latest 2024 · JSConf BP, RomaJS

JSConf BP · Jun 27, 2024 · Budapest, Hungary · Presenter · In person

View slides

RomaJS · Mar 15, 2023 · Rome, Italy · Presenter · In person

with Luca Casonato 🏳️‍🌈

View slides

A deep dive into Source Maps

Modern JavaScript application are built on top of an immense stack of tools: transpilers, bundlers, minifiers… The code we write goes through multiple transforms before being sent to the browser. Yet, Source Maps let us debug our application and decode errors as if we were directly running our original source files. How are they able to undo any transformation applied to your code? Can they actually do it, or is there something that they cannot represent? How do different tools decide what to encode to and decode from source maps? We will explore together how the source maps format works and which data they encode, as well as a new standardization effort to align all tools and expand what source maps are capable of.

Delivered once · latest 2024 · JSHeroes

JSHeroes · May 24, 2024 · Cluj-Napoca, Romaina · In person

View slidesWatch recording

Migrating Babel from CommonJS to ESM

25 min

CommonJS has been the go-to module system for Node.js for more than a decade, but the ecosystem is slowly moving to ECMAScript Modules. CommonJS and ESM have different features, and they are not fully compatible with each other: should existing libraries migrate to ESM? Should they keep using ESM forever? Are JavaScript tools ready for native ESM? Babel is one of the most used packages on npm, and we have been slowly working to move away from CommonJS. What obstacles have we found? How did we overcome them? What have we learned in the process? How do we ensure a smooth transition for our users?

Delivered 2x · latest 2023 · NodeConf EU, jsday

NodeConf EU · Nov 5, 2023 · Kilkenny, Ireland · Presenter

View slidesWatch recording

jsday · Apr 12, 2023 · Verona, Italy · Presenter

Past and future of server-side runtimes

NodeConf EU · Nov 5, 2023 · Kilkenny, Ireland · Presenter

Watch recording

JavaScript Modules: Past, Present, and Future

30 min

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, which designs the ECMAScript language, 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? This talk will walk you through the answers to those questions and show you current developments, giving a sneak peek at possible future modules features!

Delivered 2x · latest 2023 · Web Engines Hackfest, JSHeroes

Web Engines Hackfest · Jun 5, 2023 · A Coruña, Spain · Presenter · In person

JSHeroes · May 19, 2023 · Cluj-Napoca, Romania · Presenter · In person

View slides

Synchronously call your asynchronous functions

BeJS · May 12, 2023 · Brussels, Belgium · Presenter · In person

View slidesWatch recording

Records & Tuples are coming

25 min

Immutability and deep equality. Two keywords that were initially relegated to strict functional programming environments, but have been popularized across the JavaScript community thanks to libraries like Immutable.js, Immer and React. 'Records & Tuples' is a new ECMAScript proposal that brings two new immutable primitives to the language: what do they look like, what capabilities do they bring, and when will you finally be able to use them?

Delivered once · latest 2022 · jsday

jsday · Apr 22, 2022 · Verona, Italy · Presenter

View slides

Shrinking JS bundles

RomaJS · Mar 17, 2021 · Presenter · Virtual

View slides

Babel: A refactoring tool

30 min

Development is a creative act. However, we spend a lot of time cleaning up our code, refactoring and doing other repetitive tasks. What if we could automate it? This talk will show an alternative way of using Babel: usually, everyone thinks about it as a modern-to-old ECMAScript compiler, which also supports a few additional syntaxes like JSX or types. But what if it wasn't just that? Babel is a general-purpose ECMAScript code analyzer and transformer. It could be used to create linters, minifiers, static analysis in IDEs, or... codemods! How can we leverage the Babel APIs to efficiently refactor hundreds of files, without manually doing the same thing over and over?

Delivered once · latest 2020 · HolyJS Moscow

HolyJS Moscow · Nov 26, 2020 · Presenter · Virtual

View slides

Babel: Under the hood

30 min

More and more developers are using Babel in their build process, but do you know how it internally works? We will first briefly discuss the different parts that compose a JavaScript to JavaScript compiler, and how it tries to reduce the complexity of implementing a custom code transformer: it's not just a search & replace based on regular expressions! Then, we will learn how Babel implements support for new ECMAScript proposals, by going through a plugin which will transform future syntax to old ECMAScript. In order to code it correctly, we will need to understand the proposed semantics, and we will discuss the trade-offs between specification compliance and output complexity.

Delivered 3x · latest 2019 · D2 Forun, JavaScript Community Day, HolyJS Moscow

D2 Forun · Nov 30, 2019 · Hangzhou, China · Presenter · In person

View slides

JavaScript Community Day · Nov 22, 2019 · Milan, Italy · Presenter · In person

View slides

HolyJS Moscow · Nov 9, 2019 · Moscow, Russia · Presenter · In person

View slides

Education: 2

Università degli Studi di Torino

Mathematics

Sep 2021 - Jan 2023

Politecnico di Torino

BSc, Mathematics

Jan 2018 - Jul 2021

Languages: 3

Italian(Native or bilingual)
English(Full professional)
Dutch(Elementary)

Also find Nicolò Ribaudo on…

What else would you like to see here?

Missing something? Tell us what would make this page more useful.

Sign in to share an idea.