All 2025202420232022

2025

Next-Gen Flame Graphs: Making Node.js Performance Profiling Actually Work

JSConf 2025 Online, United States November 2025

Remember when profiling Node.js meant wrestling with perf, sed scripts, and mysterious V8 internals? Traditional flame graph generation has been like performing surgery with a sledgehammer. In this talk, Matteo opens with humor before diving into a core problem many developers face: traditional Node...

The State of Node.js 2025

JSDay 2025 Verona, Italy October 2025

Despite exaggerated claims about its decline, Node.js is thriving. Its continued evolution pushes the boundaries of what the modern web can do. We'll start by debunking common myths about Node.js, then highlight recent enhancements and demonstrate its robust performance in today's tech landscape.

Node.js: More Threads Than You Think

Code Europe 2025 Krakow, Poland September 2025

Is Node.js really single-threaded? The answer has changed. Node.js was announced in 2009 as a single-threaded JavaScript runtime. In 2018, it became multi-threaded, and no one noticed. Learn how to leverage multi-threading to build faster, more scalable applications with worker_threads.

The State of Node.js 2025

JSNation 2025 Amsterdam, Netherlands June 2025

Node.js continues to thrive despite claims of its decline. We debunk myths, highlight recent enhancements, and demonstrate its robust performance in today's tech landscape. The talk covers Node.js's role in server-side programming and cloud-native applications, community contributions, integration o...

Why Node.js Needs an Application Server

Conference 2025 Online, null March 2025

You've been deploying Node.js wrong. For years, the community has treated Node.js as a simple runtime—start a process, put it behind a reverse proxy, scale horizontally. But this approach ignores fundamental architectural problems that become painfully obvious in production. I make the case for why ...

2024

Which Node.js HTTP client in 2024?

Frontend Nation 2024 Online, null June 2024

Choosing the right HTTP client is a critical decision when building dynamic web applications with Node.js. In this comprehensive talk, I explore the available HTTP client options in Node.js for 2024 and help you make an informed decision.

The State of Node.js 2024

JSDay 2024 Verona, Italy May 2024

Node.js continues to thrive despite exaggerated claims about its decline. Its continued evolution pushes the boundaries of what the modern web can do. We cover Node.js's role in server-side programming and cloud-native applications, community contributions, integration of modern JavaScript features,...

Deep Dive into Undici

Node Congress 2024 Berlin, Germany April 2024

Undici, the next-generation HTTP client built by the Node.js Core team, powers Node.js core fetch(). Let’s dig into how its internals work, discovering how to work with Dispatchers, Agents, and Pools. Last but not least, we’ll even do some magic.

The Alleged 'End' of Node.js is Much Ado About Nothing

CityJS London 2024 London, United Kingdom April 2024

Despite the exaggerated claims about its decline, Node.js is thriving. Its continued evolution pushes the boundaries of what the modern web can do. We'll start by debunking myths about Node.js, showcasing its recent enhancements and robust performance in the tech landscape. The focus then shifts to ...

2023

NODE_ENV=production is a lie

Node.js fwdays'23 Online, null December 2023

In this talk, I explain why NODE_ENV=production is a lie and what you should do instead to properly configure your Node.js applications for production environments.

Generating types without climbing a tree

React + TypeScript fwdays'23 Online, null October 2023

How do you generate types dynamically? How do you write a script that creates some TypeScript code? This talk explores approaches to generating TypeScript types without using complex AST manipulations, sharing a practical and easy-to-implement solution developed for an OpenAPI client under a tight d...

Generating types without climbing a tree

TypeScript Congress 2023 Online, null September 2023

How do you generate types dynamically? How do you write a script that creates some TypeScript code? This talk explores approaches to generating TypeScript types without using complex AST manipulations, sharing a practical and easy-to-implement solution developed for an OpenAPI client under a tight d...

APIs are Evolving. Again

JSNation 2023 Amsterdam, Netherlands June 2023

As developers we stand on the shoulders of giants, and it can be helpful to take a look at the past to gain a better perspective. In this talk we briefly explore the past decade of backend development and architectural patterns. We've often ditched technologies in an attempt to make the developer ex...

I Would Never Use an ORM

JSNation 2023 Amsterdam, Netherlands June 2023

ORMs are often a hurdle to overcome for the most complex part of a project. As the next stop of my journey, I recommended people use the native languages of their databases, e.g., SQL. This works great for the most part, but it creates quite a struggle: there is a lot of boilerplate code to write th...

Do not thrash the Node.js Event Loop

CityJS Athens 2023 Athens, Greece May 2023

Deploying Node.js at scale is an art mastered by few. The most common problem is an exhaustion of resources that allows the application to denial of service itself. The result is Node.js systems that are massively overprovisioned, wasting enormous amounts of computing and memory - keeping most of th...

Building a modular monolith with Fastify

Node Congress 2023 Berlin, Germany April 2023

A talk about building modular monoliths with Fastify, showing how to structure larger applications while maintaining the benefits of a monolithic architecture.

2022

I would never use an ORM

NodeConf EU 2022 Kilkenny, Ireland October 2022

What's an ORM? An Object-Relational Mapping tool (ORM) is a library to map a SQL table to a Class. In most cases, ORMs force the users to structure their code into Model objects that include both data access and business logic. This talk shares the journey from using ORMs to avoiding them, and final...

A Fastify tale of Shapes

OpenJS World 2022 Austin, TX, United States June 2022

In my journey through nodeland, I went into the woods. After a nice stroll, I started seeing V8 shapes everywhere. They led into a dark cave and there was a new one every time I turned my head. My mind became megamorphic. What's a V8 shape? Why does it matter? Are there any problems if we created ma...

Everybody is Responsible for Performance

OpenJS World 2022 Austin, TX, United States June 2022

It's 2030 and all companies are now digital but users are dissatisfied and keep loving a few brands. The best ones offer a seamless digital experience. The worst are sluggish and they wonder how they got there and how to improve. In short, nothing has changed since 2022. As developers, we are strug...

GraphQL Caching Demystified

GraphQL Berlin Meetup Online, null February 2022

How would you implement a performant GraphQL cache? How can we design a good algorithm for it? Is there a good Open Source solution that is efficient, scalable and easy to deploy? How is the caching key computed? What about cache invalidations? Would it be possible to deduplicate resolver execution?...

1, 2, 3.. Fastify!

JS Poland 2022 Online, null January 2022

In my journey through nodeland, I always wonder about the cost of my abstractions. I started a journey to write an HTTP framework with extremely low overhead, and Fastify was born. With its ability to reach an astonishing 90k requests/sec, Fastify can halve your cloud server bill. In this talk, I ...