jsday 2023 is the 12th edition of the Italian JavaScript conference, organized by GrUSP, organizers of events like phpday, reactjsday and many others.

Thursday 13th April 2023

The state of frontend frameworks in 2023
Talk by Tejas Kumar (40 minutes)

This talk explores the current state of frontend frameworks including Qwik and SolidJS, and examines their parallels between React. Leaving this talk, developers should have a more clear view of the strengths, weaknesses, and tradeoffs of these.

Powering up Micro-frontends at the Edge!
Talk by Gift Egwuenu (40 minutes)

Today's digital landscape has become a fast-paced environment where businesses constantly look for ways to increase efficiency, reduce latency, and improve user experience. Micro-frontends offer a new approach to front-end development, addressing these challenges by breaking down monolithic front-ends applications into smaller, independent, and reusable components, making them easier to deploy, manage, and scale. As part of this talk, we will explore micro-frontends and how to gradually incorporate the architecture into existing codebases using Cloudflare Workers. It can be time-consuming to completely migrate a legacy application using the micro-frontends approach, so we'll explore ways to effectively and efficiently adopt and implement micro-frontends. This talk will give attendees a strong foundation for creating micro-frontends powered by Cloudflare Workers to enable them to enhance their applications leading to better user experience and increased performance.

Lyra: Disrupting full-text search industry with JavaScript
Talk by Michele Riva (30 minutes)

How can a JavaScript-based search engine retrieve millions of records in a matter of microseconds? Why is JavaScript the right language to implement a true isomorphic application to be deployed everywhere, from mobile applications to edge networks? In this talk, we will see how Lyra, a full-text search engine written in JavaScript, is challenging the search industry with an incredible combination of performance and developer experience.

It's still getting better: new(ish) JavaScript you can use today
Talk by Daniel Arthur Gallagher (30 minutes)

JS is a language in constant evolution and has accelerated for more than 10 years. Half of the time we're writing code before it's standardised, and plenty of articles get written about things we can do that maybe we just don't get to. Maybe there are some dots that aren't joined up. With plenty of enthusiasm and a lot of interest in getting more out of the standards, I will present some newer syntax and standard APIs. I'll present them not just as ideas but showing where, when and how you can use them in order to get more meaning out of the code that we write using only the language itself.

12:35 Screw the Browser! Build ChatGPT via SMS
Talk by Lizzie Siegle (30 minutes)

What crazy questions have you asked ChatGPT? Did asking it in a web browser annoy you? Never fear! This talk will go over how to build your own ChatGPT powered by OpenAI's API via Twilio SMS. We will dive into OpenAI's API and its many models, methods, machine learning concepts, use cases, and more.

The top 5 JavaScript issues in all our codebases
Talk by Phil Nash (40 minutes)

We all try to write the best code we can, but sometimes things slip through the cracks. With a look at the data from scans of thousands of projects, we can tell what the most common issues are in the codebases of all JavaScript developers. In this talk we’ll take a look at those top issues that plague JavaScript projects around the world, we'll see why they are issues, and finally how to spot and avoid those common errors, issues or anti patterns. By the end of the talk you’ll feel more confident in your codebase and maybe have a few things to fix.

Production-ready lambdas with Node.js
Talk by Luciano Mammino (40 minutes)

A few tips that i learned along the way on how to build production-grade lambdas using AWS: testing, logging, metrics, tracing, infrastructure as code, code-reuse, frameworks and more! Writing Lambdas is quite easy, at the end of the day it is just a function, right?! But writing GOOD production-grade lambdas, well that is an entirely other story. In this talk, I will share some of the tips and tricks that I learned building Lambda functions in Node.js during the last 6 years. We will talk about code organisation and code reuse, testing, logging, metrics, tracing, infrastructure as code and more.

Designing and building resilient backend APIs in the cloud
Talk by Sara Gerion (40 minutes)

An application is resilient when it has the ability to recover from infrastructure or service disruptions, dynamically acquire computing resources to meet demand, and mitigate issues, such as misconfigurations or transient network issues. Since resiliency is key for an optimal customer experience, building highly resilient workloads in the cloud is a goal for many businesses, from startups to enterprises. If you're a developer, tech lead, or architect wondering what can you do to foster resiliency best practices within your team or organisation, this is the right talk for you. Through a mix of theory, code examples and a demo, you will learn advanced patterns and design principles you should consider at every stage of the software lifecycle.

A picture is worth a thousand…kilobytes.
Talk by Tamas Piros (40 minutes)

A picture is in fact worth a thousand words, but it should not be worth a thousand kilobytes. In this talk we will take a look at tips and tricks that will enable you to deliver image heavy websites in a performant way. We will discuss the pros and cons of “next-gen” image formats, the various available loading methods and techniques and their effects on the Largest Contentful Paint and Cumulative Layout Shift Core Web Vital metrics. By the end of the talk you will be equipped with the right knowledge to deliver production sites with images that perform well to maximise user retention.

Friday 14th April 2023

Implementing web3 via APIs is still decentralized?
Talk by Soumaya Erradi (40 minutes)

When we talk about decentralized applications we mean an application where control and decision-making is transferred to a distributed network. Sometimes we find this formula: a user that interacts with the dApp frontend — either web or mobile — which then interacts with the backend APIs. The backend, then, on request interacts with the smart contract(s) or blockchain through public nodes. Is this the right way to build a decentralized application or we are missing something? Let’s dive into it!

Building AI-enhanced User Interfaces for the Web
Talk by Jani Eväkallio (40 minutes)

ChatGPT is cool, but baking AI features directly into your application can supercharge your app's (and your user's!) true potential. I want to share what I've learned in the last year, building an ambitious, real-time collaborative, high-performance, AI-assisted text editing application using TypeScript, and what you need to know to build one yourself.

Everything's better with friends
Talk by Sunil Pai (40 minutes)

Software is meant to be alive, interactive, and experience shared best with your friends and colleagues. Building applications like these have always been difficult for mere mortals - they're expensive, hard to build and maintain, and never quite right ...until now. Over the last few years, changes in the ecosystem and platform capabilities have made the building blocks for building real-time collaborative applications much more accessible and within the reach of developers like you and me. I'd like to show you some of the work I've been doing in this area, as well as participate in a demo built on this technology.

Astro & island architectures: build fast and SEO friendly websites
Talk by Fabio Biondi (30 minutes)

Astro, a latest generation JavaScript framework, has recently released version 2.0, and since the first version it has been a huge success thanks to its simplicity, performance and the island architecture, a technique that use partial hydration to use several UI frameworks and libraries in the same view, such as React, Vue, Svelte and many others. Astro uses pre-rendering techniques such as SSG (Static Site Generation) and SSR (Server Side Rendering) and has the main objective of speeding up the display of content: for this reason it is the ideal tool for creating landing pages, blogs and Web pages that require high search engine scores and high performance. In this session I'll describe how Astro work and we will analyze the necessary steps to install, configure and create landing pages and blogs by using SSG, SSR, markdown and the island architecture.

14:10 Multimedia file management in web applications: a solution with Typescript, NodeJS and ffmpeg in a serverless application
Talk by Martina Lilla (40 minutes)

We, as streaming service users, consume daily movies and media that are easily accessible and can be enjoyed mostly on every device and any browser. However, this is not always the case. There are still many industries that deal with data that initially have extensions not supported by browsers and thus they are not immediately available for visualization and usage. The problem is certainly very common in HealthCare companies that have to deal with data coming from Medical Devices (ultrasound scan, CT scan…), and that come next handled, visualized and used in Web Applications to provide Digital Services or for Artificial Intelligence implementations. These companies face the problem of converting in real time a large amount of data, and they need fast, reliable and scalable solutions. During this talk, I’ll show you how to make large amounts of media files available in browsers and web applications, by creating a service with Typescript, NodeJS, and fluent-ffmpeg, in a serverless application to ensure availability and scalability.

Micro-frontends discovery
Talk by Luca Mezzalira (40 minutes)

Micro-Frontends are gaining more popularity year over year. There are some aspects to discover and many others to improve. During this talk we are going to explore one of the main challenges with micro-frontends: the discoverability. Being able to dynamically discover micro-frontends allows us to easily work in multi-environments strategy and reduce the blast radius of new deployments.

Debugging & DevTools
Talk by Jecelyn Yeen (40 minutes)

In this talk, Jecelyn from the Chrome DevTools team will walk you through the state of debugging and improvements in DevTools.

Migrating Babel from CommonJS to ESM
Talk by Nicolò Ribaudo (40 minutes)

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?a