Build a production service with VirtusLab Scala Stack and AI

Session Abstract

Build and ship a production-ready microservice in direct-style Scala 3: no Futures, no IO monads. Set up an HTTP API with Tapir, concurrency and resilience with Ox, a type-safe SQL layer, and an sttp client, with AI assistance throughout. Type-safe, Loom-powered, and refreshingly simple Scala.

Session Description

This lab is a hands-on follow-up to the talk “VirtusLab Scala Stack — back to the roots.” The talk argues for direct-style Scala, in the lab, you write it. Over two hours you’ll build a working microservice in Scala 3 without reaching for Futures or IO monads. The code reads as plain, sequential Scala, even though it’s backed by a strong type system, automatic resource handling, and Java’s virtual threads.

We start from a prepared project, so setup takes a few minutes rather than half the session. From there you’ll add an HTTP API with Tapir and its generated OpenAPI docs, manage concurrency, timeouts, retries, resource safety, and error handling with Ox, read and write data through a typed SQL library (Parlance), and make outbound calls with sttp. You’ll also see how AI coding assistants, guided by VirtusLab’s open-source Scala skills, speed up writing idiomatic direct-style code. We finish with something most teams actually face: taking a piece of Future-based code and moving it to direct style, showing that you can migrate gradually.

The goal of this session is to show a lower-effort way into Scala for people who don’t need full power of IO monads: less to learn, syntax that’s familiar from other languages, and code that current AI tools handle well, while keeping Scala’s type safety. After this workshop you will be able to start and structure a direct-style service yourself, with a clearer sense of when the style fits. The lab suits Scala developers curious about direct style, and anyone considering Scala 3 for backend work.

Tuesday, 13. October 202611:00 – 13:00
Frannz Salon: Lab 1
Interactive labs
Piotr Janczyk
Piotr Janczyk

Team Lead / Staff Scala Engineer

VirtusLab