About

Selected open source work

Dotty / Scala 3 compiler

I worked on the Scala 3 compiler with both the VirtusLab team and the LAMP team at EPFL.

Inkuire

A tool for searching Scala 3 documentation using types as search keys.

AvocADO

A Scala 3 library that safely rewrites for-comprehensions into applicative or parallel counterparts at compile time.

VsRocq

I am a maintainer of the LSP implementation for Rocq — VsRocq

QuickLens

I developed its Scala 3 implementation using the Quotes metaprogramming API.

Metals

I contributed end-marker inlay hints and code actions to the Scala language server and client.

Education

I studied computer science at AGH University of Science and Technology in Kraków. My Bachelor's project used types as search keys for Kotlin documentation. The project later moved to Scala and evolved into Inkuire. I worked on it with Andrzej Ratajczak and Filip Zybała, supervised by Bartosz Baliś.

I completed a master's degree in computer science at Chalmers University of Technology in Gothenburg. My project, advised by Magnus O. Myreen, was on verified inlining and specialisation for PureCake.

I am doing my PhD at EPFL in SYSTEMF. My first semester project was focused on modularity improvements to the Scala 3 compiler.

I was a teaching assistant for CS-214 at EPFL in 2024 and 2025, coordinating its final web-application project and deployment.

I received AGH Scholarships in 2018, 2020, and 2021, awarded to the top 10% of students at AGH UST.

Work experience

I worked at VirtusLab as a Scala developer for slightly over five years. My projects included:

  • A production management system for medium-sized companies.
  • Scala open source work on Scaladoc, Inkuire, magnolia, Dotty / Scala 3 compiler, and others
  • A Scala 2 to Scala 3 codebase migration for a large car manufacturer.
  • Work on Besom, a Scala 3 SDK for Pulumi and infrastructure as code.
  • A SQL transpiler that federated Big Data queries across warehouses for an AdTech / Big Data company.

Technologies I used, in order of proficiency: Scala (ZIO, Cats, Spark Catalyst, Akka, Play!, Slick); Java; SQL (PostgreSQL, Snowflake, BigQuery, DuckDB, SparkSQL); TypeScript and JavaScript (Angular, AngularJS); HTML and CSS.

Public presentations

Bootstrapping a verified compiler for an imperative language in Rocq

On track with tracked

Scala 3 features you probably haven’t used (yet)

Scala 3, but I have trust issues

Inkuire — Using types as search keys in Kotlin libraries

Student projects

If you are interested in working on: verified compilation, interactive theorem proving, compilers in general, verification of software, proof engineering, developer tooling, get in touch.

Early Reclamation of Lazy Values in Scala

This project aimed to make the Scala 3 compiler clear local variables after their last use, so the garbage collector can reclaim their values. In the example below, the reference to ints remains on the stack while foreach runs, causing an out-of-memory error:

def print_forever() =
  val ints = LazyList.from(0)
  ints.foreach(println)

Flexible code rewriting for Scala 3

This project develops a readable and expressive DSL (that is valid Scala 3 syntax) for writing code rewrite patterns and a rewriting engine that applies these rewrites (using scalafix). The aim of this project is to: (1) provide a tool for library maintainers to write migration rewrites (2) a tool for teachers to provide personalized code-quality feedback at scale.