Avoid mistakes in API design, implementation and evolution with Smithy

Most back-end projects eventually reach a point when they have to define an API. We implement their routes, document them, sometimes we write a client. We do essentially the same work multiple times - each view of an endpoint contains the same path, and yet we don't have a "single source of truth".
In this talk, I'll show how Smithy (https://smithy.io) and smithy4s enable defining an API in a single place, and how they make it easy to build its server, client, and even a CLI - in a Scala-friendly, tooling-compatible way.
Learn about opaque types and add this new tool to your modelling toolbox!
I'll share a handful of techniques that can help you avoid runtime errors and shift them to the realm of compile time
How Scala 3 addresses concerns around implicits and how implicits work in Scala 3.
Scala is improving rapidly. This session will give you the perspective of someone in the middle of these changes.