Day 2 -

June 6th

Track 1 (Olympic Room)

15:15 - 16:00

ducktape - Holding Scala's Productivity Together

Throughout my career as a developer I noticed that the majority of my everyday tasks come down to moving JSON from point A to point B and for all this time I’ve been trying to minimize the amount of (human-written) code that doesn’t bring joy (also known as boilerplate) but also solves the problem at hand.

After some time I managed to land on a subjectively close-to-perfect setup that involves:

  • generating server route definitions with guardrail or smithy4s,
  • a newtype and a refinement type library of your choice for that sweet, sweet typesafety and validation,
  • a mystery ingredient that abstracts away data transformations from generated code to my squeaky clean business domain model.

Now, what that mystery ingredient that does all of that glue code magic for you might be? Well, it’s ducktape (figuratively and literally).

Join me as I unveil the intricacies of this cool, little, macro-based library and show off how all of the pieces mentioned above fit together to create an extremely productive workflow for the most common of use cases - all of that in Scala 3.

Aleksander Rainko


I’m a professional Scala programmer for 3 years now, during this time I’ve developed big interest in the metaprogramming and the type level programming side of things of this very language.

Amateurishly into compilers, programming languages overall, running, cycling and swimming.

Avid music listener.


Join our conference

Subscribe and follow @ScalaDays on Twitter for the latest conference updates.