April 4 - 5, 2024
Node Congress
Node Congress 2024

The biggest event on JavaScript backends

Explore the new frontier of battle-tested backends. A two-day conference on all things Node.js, gathering Back-end and Full-stack engineers across the globe in the cloud is here to help you staying up-to-date on the latest Node.js tech.

14 min
Parsing Millions of URLs per Second
With the end of Dennard scaling, the cost of computing is no longer falling at the hardware level: to improve efficiency, we need better software. Competing JavaScript runtimes are sometimes faster than Node.js: can we bridge the gap? We show that Node.js can not only match faster competitors but even surpass them given enough effort. URLs are the most fundamental element in web applications. Node.js 16 was significantly slower than competing engines (Bun and Deno) at URL parsing. By reducing the number of instructions and vectorizing sub-algorithms, we multiplied by three the speed of URL parsing in Node.js (as of Node.js 20). If you have upgraded Node.js, you have the JavaScript engine with the fastest URL parsing in the industry with uncompromising support for the latest WHATGL URL standard. We share our strategies for accelerating both C++ and JavaScript processing in practice.
25 min
The Need for Speed: How AWS New JS Runtime is Redefining Serverless Latency
In today’s world of modern applications, swift responsiveness is essential. Users expect seamless interactions where every action triggers an immediate response.Serverless services such as AWS Lambda, allows developers to build modern applications without the need to manage traditional servers or infrastructure. However, Serverless services might introduce additional latency when new execution environments are provisioned and due to (by design) having less resources than traditional servers or containerized environments.To mitigate this problem, AWS have developed an experimental JavaScript runtime, called LLRT, built from the ground up for a Serverless environment. LLRT (Low Latency Runtime) is a lightweight JavaScript runtime designed to address the growing demand for fast and efficient Serverless applications. LLRT offers more than 10x faster startup and up to 2x overall lower cost compared to other JavaScript runtimes running on AWS Lambda.In this session you will discover how it's different from what's already out there, see its performance in action and learn how to apply it to your Serverless functions.
23 min
Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory
Are you tired of wrestling with the limitations of REST APIs? ""Breaking REST Chains: A Fastify & Mercurius Pathway to GraphQL Glory"" is your roadmap to a better way.Discover how GraphQL solves REST's shortcomings and how to implement it using Fastify and Mercurius. We'll cover:
1. REST limitations that hold back modern apps.2. GraphQL's game-changing features.3. Steps to transition using Fastify and Mercurius.
Unlock the full potential of your APIs and break free from REST's constraints. Join us to learn, adapt, and elevate your API game.
21 min
The Full-stack Framework of the Future is a DSL
With all the web framework options available in popular programming languages today, why would anyone want to create a new Domain-Specific Language (DSL) for building full-stack web apps? In this talk, we will cover our rationale for deciding to do so, why DSLs are a compelling option, their pros and cons, and what it has enabled us to build for full-stack JavaScript devs so far. Additionally, we will cover some of the ups and downs of open source devtool development from our nearly three-year journey since Y Combinator (YC)
25 min
AWS Lambda Performance Tuning
Have you ever wonder how to get the best out of your Lambda functions?If so, this talk will reveal the behind the scene one of the most popular serverless service and you will be exposed to a step by step guidance for optimizing your functions.During this session, I will walk you through the mindset to reduce your Lambda functions execution time. In the example presented I was able to reduce the execution time by 95% for warm start and over 50% with cold starts improving also the transactions per seconds served with this API.
19 min
Biome, Toolchain of the Web
Biome wants to provide an all-in-one experience for web developers while maintaining performance and quality. Emanuele, lead maintainer of the Biome project, will walk through Biome’s tools:- A formatter with 97% compatibility with Prettier of JavaScript, JSX, TypeScript and TSX files.- A linter that offers informative and descriptive diagnostics, with modern lint rules exclusive to Biome and others inspired by the most famous ESlint plugins.- An opinionated import sorting. An excellent tool offered by Biome Analyser.- First-class support for editors that support LSP. What you get from the CLI, you get in your editor.
At the end, Emanuele will discuss the plans for 2024 and what the team would like to achieve this year.
18 min
Creating an HTTP Server from Scratch with Node-addon-api, Libuv, and Milo
Let's explore the magic behind Node.js and create a simple http server! We'll go step-by-step, understanding how libuv makes node asyncronous and how Milo helps our server parse HTTP request. We'll use node-addon-api to create the bridge between c++ and javascript.                                       
34 min
Making My Node.js API Super Fast
Node.js servers need to process a large number of requests concurrently as the scale grows.  A Node.js micro service which receives an API request needs to do multiple actions, like parsing JWTs, use caching, work with the databases and more. In this talk, Tamar will show strategies to improve your REST API performance - starting from new Node.js frameworks that can work faster, better parsing of request parts, efficient work with caching and DB , better parallelism and more strategies. The talk will include demos, benchmarks and profiling of code to see the improvements. At the end of this talk, developers will have practical knowledge on how to improve API performance in various Node.js platforms.
23 min
Milo, a New HTTP Parser for Node.js
Node.js HTTP parsing currently relies on llhttp, a parser which provides very good performance but has currently some challenges for the health of the runtime.Is it possible to create a modern, maintenable, well documented, secure and performant alternative? Yes it is!Let me introduce you Milo, a new Rust based HTTP parser which I plan to integrate into Node.js and let me show you how you can help be a part of its first Rust component.
25 min
Testing Alternative Runtimes with Node and Vitest
A deep dive into how we built support for running Vitest tests in the Cloudflare Workers runtime. We'll start by giving an overview of the Cloudflare developer platform, including our open-source workerd JavaScript runtime and local simulator Miniflare. Next we'll talk about how Vitest works and provides support for custom runtimes, using Node.js as a driver to run tests in another environment. We'll describe the specifics of our custom Vitest pool, and how we added support for dynamic code evaluation to our runtime. Finally we'll talk about how we improved developer ergonomics with isolated per-test storage, test helpers for accessing Durable Object instances directly, and support for declarative HTTP request mocking., and how we created a service to build types for users' specific compatibility settings.
24 min
Optimizing Microservice Architecture for High Performance and Resilience
- Delve into the intricacies of optimizing microservice architecture for achieving high performance and resilience.- Explore the challenges related to performance bottlenecks and resilience in microservices-based systems.- Deep dive into the strategies for enhancing performance, such as efficient communication protocols, asynchronous messaging, and load balancing, while also discussing techniques for building resilience, including circuit breakers, fault tolerance, and chaos engineering.- Explore relevant tooling and technologies, such as service mesh and container orchestration, and offer insightful case studies and lessons learned from real-world implementations.- Emphasize the importance of continuous improvement and adaptation in microservices environments, alongside reflections on the future trajectory of microservices architecture.
17 min
What's New on Node.js Test Runner and Why it's Game-changing
Node's new test runner is pretty cool but not many people are using it yet. In my talk, I'll show you all the neat stuff it can do, including some features I worked on. We'll take a look under the hood of Node to see how mocks work and how to use them. I'll also chat about what's next for the runner and what to expect down the line. Get ready to up your testing game with native assertions and keep things running fast!
19 min
Managing Large-Scale Node.js Projects with Monorepos
Unlock the secrets of managing Large-Scale Node.js Projects with Monorepos. Discover best practices, scalability strategies, effective code organization, and collaboration tools for streamlined development on a larger scale. Join me for insights that turn project management challenges into opportunities.
11 min
Understanding Package Resolution in Node.js
Everytime we import or require a package, we follow a set of rules to resolve the package. This talk will cover the different ways Node.js resolves packages and how to debug when things go wrong. We will also cover the new features in Node.js 20 that make package resolution faster and more reliable.
10 min
How not(!) to Build Real-time Apps
Are you building a chat app, a way to see users’ online status or a real-time collaboration dashboard? All of these use cases have one thing in common: Somehow the user-facing application needs to be informed in real-time about events that happen on the backend of your application.In this talk, we’ll look closely at common approaches like polling, application-level updates and pub-sub systems. We’ll explain the tradeoffs with each approach and elaborate why another approach, called Change Data Capture (CDC), is the most elegant and robust way to achieve this.
7 min
Observability Matters: Enhancing Performance of our Node Application with OpenTelemetry
Have you ever considered that when we encounter terms like observability and reliability, our initial instinct is usually to attribute them solely to SRE concerns? Yet, upon closer examination, one may realize that actually implementing observability is, in essence, more aligned with the domain of developers. After all, developers are the ones who directly implement the actual logic into our existing codebase, and who better to understand and debug their code than the developers themselves? Through this session, we will emphasize on understanding the importance of observability specifically from a developer's perspective. Let's explore some best practices that help us effectively debug the performance of our Node application and how the inclusion of open source frameworks like OpenTelemetry could be beneficial to us.
21 min
Mastering Web Scraping with Scrapoxy: Unleash Your Data Extraction Wizardry!
Unlock the potential of web scraping with this session! 1/ Building Web Scrapers - The Art Unveiled2/ Proxy and Browser Farms Adventure3/ Scrapoxy Orchestration - Elevate Your Scalability4/ Protection Measures DisclosedThis concise session will immerse you in the world of web scraping.#WebScraping #Proxy #ReverseEngineering 🕵️‍♂️
23 min
The State of Node Compatibility in Deno
Deno is a next-generation TypeScript and JavaScript runtime from the original creator of Node.js. Deno is fast, secure by default, and provides a great developer experience, with TypeScript, JSX, testing, linting, and more all included out of the box. And best of all - you can bring many of your favorite to Node modules with you to Deno. In this talk, we'll cover the current state of backward compatibility with Node.js projects and modules in Deno. We'll demonstrate what works with zero configuration, and the available mechanisms in Deno that will let you bring the best of the Node ecosystem along for the ride.
17 min
Peace, Love and JavaScript
The stability and security of open source projects can be found in the people shaping the culture as much as the code they write. The Executive Director of the OpenJS Foundation will share lessons she learned along the way on how to build trust and transparency to minimize drama and overcome challenges in the JavaScript ecosystem. She will cover critical topics such as empowering projects with open governance, building an ecosystem around a community project, and how OpenJS supports essential projects such as Node.js.
37 min
The Dark Side of Open Source
Join Feross, CEO of Socket, on a thrilling journey into the dark side of open source software. Come along for the ride as we explore the unseen risks lurking within everyday software dependencies. See firsthand how AI-driven solutions, specifically large language models, are helping us battle against malicious dependencies within the npm ecosystem. Arm yourself with the knowledge and tools to protect your codebase in this ever-evolving battle.
19 min
Building a Network Stack for our Browser Extension
Engineering problems often repeat themselves in places you wouldn't expect. Sometimes the best solution has already been invented, in a different corner of the software engineering domain. In this talk, we show how and why we mirrored the TCP/IP network stack to solve a communication problem between different components of a browser extension.