Previous Work

Interesting work that I was paid to do.
  Software Engineer @ Twitter - I worked with the Developer Productivity team, improving how thousands of engineers at Twitter write and compile code. In the process, I've contributed several features to the Pants build tool. Most recently I've been working on migrating users to Google's Bazel. For more information, see my BazelCon 2020 Talk!
  CS Research: Scala Implicits are Everywhere - I collaborated with the PRL Lab in Northeastern University and the PRL-PRG in CVUT Prague as a Research Assistant. During that period, I worked on setting the foundations for the data analysis pipeline for the paper Scala Implicits Are Everywhere. Contributions are mentioned in the acknowledgments section in the paper.
  (GSOC2016) MacVenture & ScummVM - I sucessfully completed the Google Summer of Code 2016 program, adding support for the classic MacVenture games to the ScummVM project, as well as improving their existing graphics library. The project can be found here, and here are links to all the developed code.

Personal Projects

Interesting toys. Mostly useless, but tons of fun!
  (Rust) Kedit, an incomplete editor - I've always wondered how editors worked. So I made one. It's incomplete, but one can reliably edit files in it, and it even has some primitive syntax highlighting!
  (Rust) RustikGB, a GameBoy emulator - Still a work in progress, this GameBoy emulator was written in Rust, as a nontrivial effort to learn the language. Currently, one can lose at Tetris. As a fun side note, the development of RustikGB was streamed on It was an amazing experience, the chat was incredibly encouraging and helpful.
  (C++) CHIP-Towers, a CHIP-8 emulator - A simple yet almost feature-complete emulator for the simple CHIP-8 machine, written in modern C++, compiled with CMake using SDL2. It doesn't have sound though.
  (NodeJS, Electron) Hold'Em Ranger - A simple application to store Texas Hold'Em poker ranges, with the aim of minimal setup effort and maximal portablity. It features up to 4 colors for ranges.
  (Unity3D) Game Jams - I like to participate in Game Jams with some of my classmates and friends. Among our participations we count Ludum Dare 34 and the Global Game Jam 2016 (play it here).

Student Projects

Projects done in college that pushed me to level up as an engineer.
  (C++) Naylang, a Grace interpreter and debugger - My graduation project, Naylang aims to be a modern, performant and most of all usable Grace interpreter and debugger. Written using C++14, it offers sufficient performance for most uses, while being as safe as possible. This interpreter is aimed towards first-year CS students, to offer a very usable alternative to the existing Grace compilers.
  (Java) NEW PokerStove - A PokerStove clone developed in 2 months with 3 partners, with extensions to store custom hand rankings and PLO ranges. It even features a PokerStars hand replayer!
  (Unity3D) Addiction - A project developed for a videogames class, it's a metaphore about the process an addict goes through. The intellectual sequel of a previous game developed for the OUYA.
  (C) Practices on Linux Kernel Modules - A series of very small linux kernel modules and syscalls developed for the version 3.14 of the kernel. They were written in the context of a linux architecture course.