Scala Days
banner
scaladays.org
Scala Days
@scaladays.org
Time to meet again <3
Scala Days 19 - 21 August 2025
EPFL, Lausanne, Switzerland
2025 organizing host: Scala Center
✨ Tracking effects and dependencies can quickly get subtle. This talk explores what it means to stay “on track” with tracked values and why it matters.
Here’s "On track with tracked" by Kacper Korban
Kacper Korban: On track with tracked [Scala Days 2025]
Dependent types greatly improve the expressiveness of the language, allowing to write safer programs and making more illegal states unrepresentable. Scala supports dependent typing for its functional programming constructs — methods and functions. However, when it comes to the object-oriented side o
www.youtube.com
January 9, 2026 at 9:32 PM
🔍 Growing functional programmers takes more than teaching syntax. This keynote reflects on how people actually learn FP and how to help that growth happen.
Watch "Keynote: How to Grow More Functional Programmers" from Evan Czaplicki
Evan Czaplicki: How to Grow More Functional Programmers [Scala Days 2025 Keynote]
How many companies miss out on functional languages because they do not know how to find functional programmers? After interviewing engineering leadership at four companies that have used Elm successfully, I found that they all independently chose to hire people without Elm experience and all got th
www.youtube.com
January 9, 2026 at 8:08 PM
🤖 Workflows tend to sprawl unless they’re designed carefully. This session looks at defining and running workflows in Scala with MeshCI.
Check out "MeshCI: defining and running workflows in Scala" from Jakob Odersky
Jakob Odersky: MeshCI: defining and running workflows in Scala [Scala Days 2025]
Automated workflows, such as continuous integration (CI) pipelines, deployment scripts, or cron jobs, are an essential part of any modern software project. There are a plethora of solutions for running these, ranging from classic Jenkins, to more modern solutions such as GitHub actions. These workfl
www.youtube.com
January 9, 2026 at 6:51 PM
🧪 The Typelevel ecosystem has shaped how many of us write Scala today. This talk looks back at where it started, what it became, and what we learned along the way.
Here’s "A Typelevel retrospective" by Arman Bilge
Arman Bilge: A Typelevel retrospective [Scala Days 2025]
Typelevel is an ecosystem of projects and a community of people united to foster an inclusive, welcoming, and safe environment around functional programming in Scala. I first started contributing in 2021 and have since watched the seemingly exponential growth of our community and of our tech stack,
www.youtube.com
January 9, 2026 at 3:53 PM
💡 Bridging the gap between code and business requirements is rarely clean or straightforward. This talk looks at Business4s to connect developers and business thinking.
Watch "Business4s: Bridging the Gap Between Devs and the Business" from Voytek Pituła
Business4s: Bridging the gap between devs and the business [Scala Days 2025]
Developers love technicalities: type safety, performance, elegant abstractions. But too often, we end up building beautiful systems… that solve the wrong problem. This talk is how we are making Scala a first-class language for boring business software — the kind that actually runs companies and make
www.youtube.com
January 9, 2026 at 2:30 PM
✨ Large codebases don’t refactor themselves. This session explores Regenesca and how automated source-code refactoring can help keep Scala projects maintainable.
Here’s "Regenesca - Refactoring Generator of Source Code for Scala" by Sakib Hadžiavdić
Regenesca - Refactoring Generator of Source Code for Scala
“Refactoring Generators” is an interesting approach to generate scala source code. And not only that, but it will also refactor your code if it needs to. Think “git merge” but for scala code. Think scalafix but rules are per file, not global. Core library that does the diff+merge: https://github.co
www.youtube.com
January 9, 2026 at 1:03 PM
💡 Unsafe Rust raises strong opinions for a reason. This keynote digs into what “unsafe” really means, why it exists, and how to reason about it.
Check out "Keynote: What's the deal with unsafe Rust?" from Ralf Jung
Ralf Jung: What's the deal with unsafe Rust? [Scala Days 2025 Keynote]
Rust is primarily known for its ownership-based type system that enables a low-level programming paradigm in a type-safe language. However, another key pillar of Rust is its treatment of unsafe code: while most languages tend to shun unsafe operations, often leaving them poorly specified, Rust gives
www.youtube.com
January 9, 2026 at 11:35 AM
✨ Spec-first APIs don’t have to mean heavy code generation. This session shows how far you can get by leaning on imports and types instead.
Here’s "Just Import 'N' Go: Spec-first APIs without codegen" by Tomas Mikula
Tomas Mikula: Just Import 'N' Go - Spec first APIs without codegen [Scala Days 2025]
Imagine having native support for OpenAPI and/or other API specification languages built into your programming language. By merely importing a specification document, we would obtain a typed interface to a remote service, ready to be used, without the accidental complexity of dealing with HTTP or (d
www.youtube.com
January 8, 2026 at 7:53 PM
🧪 Curious how compilers actually work under the hood? This talk makes a case for learning compiler engineering as a way to become a stronger programmer overall.
Here’s "Become a Compiler Engineer (and a Better Programmer)" by Jan-Pieter van den Heuvel
Jan-Pieter van den Heuvel: Level Up, Become a Compiler Engineer [Scala Days 2025]
Level Up: Become a Compiler Engineer (and a Better Programmer) Have you ever wondered what really happens under the hood of your Scala code? Join me for a practical introduction to compiler engineering through the lens of the Scala compiler. Drawing from my two years of experience participating in t
www.youtube.com
January 8, 2026 at 6:27 PM
🤖 sbt 2.0 is a major shift under the hood. This session dives into what’s changing, why it matters, and what “going big” really means.
Check out "sbt 2.0: go big" from Eugene Yokota
Eugene Yokota: sbt 2 0: go big [Scala Days 2025]
This is going to be a debut talk of sbt 2.0, a Scala 3 rewrite of sbt, which I have been working on for the last few years (in my free time) with the help of Scala Center and other volunteers. Given that sbt 1.x already exists, and it’s the most widely-used build tool in Scala, we wanted to take big
www.youtube.com
January 8, 2026 at 4:39 PM
🔍 Capture checking keeps moving from theory toward practice. This talk focuses on the first concrete steps and what they enable in real Scala code.
Watch "The first steps towards practical capture checking" from Cao Nguyen Pham
Cao Nguyen Pham: The first steps towards practical capture checking [Scala Days 2025]
Capture Checking is the next significant feature of Scala, promising a safe and scalable paradigm to write effectful programs using capabilities. Over the past few years, its development has been rapidly progressing, on both theoretical foundations and implementation within the Scala 3 compiler. How
www.youtube.com
January 8, 2026 at 2:30 PM
💡 Building libraries that run at Netflix scale comes with very real constraints. This talk walks through designing a Scala 3 library that powers QoE systems in production.
Watch "Designing the library powering Netflix's QoE with Scala 3" from Joan Goyeau
Joan Goyeau: Designing the library powering Netflix's QoE with Scala 3 [Scala Days 2025]
As Netflix expanded, the accumulation of diverse business metrics such as hours streamed, play delay, and rebuffers became increasingly complex, with contributions from a wide array of teams, from Data Scientists to Client Engineers. To address this complexity, Netflix required a centralized solutio
www.youtube.com
January 8, 2026 at 1:14 PM
💡 Learning Scala isn’t always a straight line. This talk shares a personal journey through Scala and drumming, with all the parallels, struggles, and small wins along the way.
Check out "From Paradigms to Percussion:" from Priyanka Bose
Priyanka Bose: From Paradigms to Percussion - A Beginner’s parallel Journey [Scala Days 2025]
From Paradigms to Percussion: A Beginner’s parallel Journey (and struggles) with Scala and Drums Learning a new programming language can feel overwhelming—so can learning to play a musical instrument. Around the same time I picked up Scala at work, I picked up a pair of drumsticks at home. I didn’t
www.youtube.com
January 7, 2026 at 7:16 PM
✨ Big-picture questions matter just as much as new features. This keynote reflects on where Scala stands today and how its capabilities are shaping real-world use.
Here’s "Keynote: Where Are We With Scala's Capabilities?" by Martin Odersky
Martin Odersky: Where Are We With Scala's Capabilities? [Scala Days 2025 Keynote]
The object capability model has been established since the 1960s. It is probably the most obvious and clean way to protect trusted from untrusted components in a complex system. Capabilities are a unifying concept for many aspects of programming, including permissions, effects, and resources. They c
www.youtube.com
January 7, 2026 at 5:55 PM
🔍 Some systems run on rules nobody ever writes down. This session explores how to model and implement those unspoken rules using Scala 3.
Watch "Coding the game of unspoken rules in Scala 3" from Adrien Piquerez and Benoît Fouré
A. Piquerez & B. Fouré: Coding the game of unspoken rules in Scala 3 [Scala Days 2025]
Coding the game of unspoken rules in Scala 3 What does it take to create a game where the rules are unknown, constantly evolving, and authored by the players themselves? Inspired by the chaotic and creative card game Mao, we’ve built a multiplayer, browser-based game entirely in Scala 3: backend, f
www.youtube.com
January 7, 2026 at 4:31 PM
🤖 HTTP routing is one of those problems that looks simple until it isn’t. This talk walks through routing HTTP requests using Scala 3, focusing on clarity and correctness.
Check out "Routing Http Requests with Scala 3" from Noel Welsh
Noel Welsh: Routing Http Requests with Scala 3 [Scala Days 2025]
Request routing is the problem of choosing a function to invoke based on a HTTP request. All but the simplest web frameworks include routing, but that doesn’t mean that routing isn’t an interesting problem. I set out to design a request routing library that was all of: * compositional; * type safe;
www.youtube.com
January 7, 2026 at 2:44 PM
🧪 Tooling makes a huge difference in how Scala feels day to day. This session dives into Metals and how to get the most out of it.
Here’s "Unleashing the Full Potential of Metals" by Tomasz Godzik
Tomasz Godzik: Unleashing the Full Potential of Metals [Scala Days 2025]
Based on my experience developing the Metals Scala language server, I realized that it’s really difficult for most users to unlock it’s full potential. While maintainers are aware of what might be happening and how to solve their issue it’s not so simple for others. In this talk I wanted to describe
www.youtube.com
January 7, 2026 at 1:16 PM
🧪 Scala sometimes ends up far from traditional software. This talk dives into chip design and how Scala was used from early ideas to real hardware.
Here’s "Scala Chip Design from Z1R0 to H1R0" by Oron Port
Oron Port: Scala Chip Design from Z1R0 to H1R0 [Scala Days 2025]
Curious about hardware design but think it’s out of reach? This talk proves you can master it with Scala—no prior knowledge needed! We’ll: * Demystify hardware logic design from the ground up, making it accessible to all. * Unveil DFiant HDL (DFHDL), a Scala 3-powered, multi-abstraction hardware de
www.youtube.com
January 6, 2026 at 8:23 PM
✨ Serializing closures sounds risky, but it doesn’t have to be. This session walks through a simple and safe approach to pickling closures in Scala 3.
Here’s "Simple and Safe Pickling of Closures in Scala 3" by Jonas Spenger and Philipp Haller
Spenger & Haller: Simple and Safe Pickling of Closures in Scala 3 [Scala Days 2025]
More and more use cases in parallel and distributed programming are testing the limits of closures. Serializing/pickling closures/functions is incredibly powerful, but full of issues. Using the JVM’s built-in serializer may result in strange outcomes and runtime-errors during deserialization. For ex
www.youtube.com
January 6, 2026 at 6:48 PM
💡 Effect safety often stays abstract until you see a concrete model. This talk introduces Capture Checking and shows how it changes the way effects are tracked and reasoned about in Scala.
Check out the Scala Days talk from Oliver Bračevac
Oliver Bračevac: Capture Checking - A New Approach to Effect Safety in Scala [Scala Days 2025]
Capture Checking is an upcoming feature that brings capability tracking into Scala’s type system, offering a new way to express and control effects in direct style, all without requiring monads or other heavy abstractions. This talk introduces the core ideas behind Capture Checking, how it fits int
www.youtube.com
January 6, 2026 at 4:06 PM
🔍 AI tools are starting to blend into everyday Scala workflows. This talk looks at what JetBrains is building and how it fits into real development.
Watch "AI Tooling for Scala Developers: What JetBrains Brings to the Table" from Maciej Gorywoda
M. Gorywoda: AI Tooling for Scala Developers - What JetBrains Brings to the Table [Scala Days 2025]
In the last few years, one of the leading new areas of development in JetBrains has been AI tooling. It started with simple access to an external Large Language Model within IntelliJ IDEA - but we didn’t stop there. Today, JetBrains offers a wide range of new features and extensions that can make s
www.youtube.com
January 6, 2026 at 2:53 PM
🤖 Many teams don’t live in a Scala-only world. This session shares what it’s like to use Scala inside a Go-first company and where it shines.
Check out "Using Scala in a Go-First Company" from Christian Hollinger
Christian Hollinger: Using Scala in a Go First Company [Scala Days 2025]
We introduced a very specialized Scala 3 project - a high-volume, real-time streaming pipeline for complex traffic data - at a company that does (practically) everything in go. Why would we do that? And would we do it again? In the overall Data Engineering world, go has very little foothold; Python
www.youtube.com
January 6, 2026 at 1:30 PM
📈 A decade of Scala in production was a big part of the conversation at Scala Days with Kpler. From high-performance systems to data-driven engineering, their presence reflected long-term commitment to building reliable software with Scala.
December 23, 2025 at 3:00 PM
💡 Audio work in Scala goes deeper than you might expect. This talk explores audio processing using Scala Native and FS2, with a focus on performance and structure.
Check out "Scala and Arpeggio: Audio processing with Scala Native and FS2" from Will Binzi
Will Binzi: Scala and Arpeggio - Audio processing with Scala Native and FS2 [Scala Days 2025]
Ever wondered what Scala sounds like with an electric guitar running through it? We’ll do it live! Few sounds are as iconic as that of an electric guitar played through an overdriven amplifier. Since the first effects pedals hit the market in the early sixties, guitarists have been using them to ta
www.youtube.com
December 22, 2025 at 7:30 PM
✨ Full-stack Scala sounds nice in theory, but what does it look like in practice? This session shares lessons learned from building a real ML platform end to end.
Here’s "The power of full-stack Scala" by Olga Chuchuk and François Laroche
The power of full stack Scala: lessons learnt from building an ML platform [Scala Days 2025]
The power of full-stack Scala: lessons learnt from building an ML platform At NuMind, we build machine learning tools for information extraction using custom-trained language models. But we’re not here to talk about the models—we’re here to talk about the full-stack Scala platform that makes working
www.youtube.com
December 22, 2025 at 6:09 PM