Projects
Selected research, competition, and course projects.
Pokémon TCG AI Battle Challenge · Competition · Code
We trained an agent to play the Pokémon Trading Card Game using behavioral cloning, PPO, and self-play. The solution placed 168th of 6,807 teams.
NS-Gym Competition · Competition · Code
A PPO-based solution for adapting to changing environments, ranked first in the competition’s adaptability, performance, resilience, and efficiency evaluations.
Aletheia’s Quest · Competition results · Code
Representing SAIN Groningen, we developed a black-box deception monitor by distilling Kimi K3’s judgments into a Qwen3.5-9B LoRA, as well as a white-box extension combining the monitor with an activation probe. Our black-box submission placed second in its track and won the Scalability Award.
Semantic Preservation in Discrete Diffusion Models · Code
We trained discrete diffusion models in VQ-VAE latent space and compared how uniform and absorbing-state corruption preserve image-class information across diffusion timesteps on MNIST and CIFAR-10.
Intent-Based LLM Safety Classification · Code · Course project snapshot
A project investigating user intent in LLM safety classification and jailbreak detection. I was involved in the initial course project during September–November 2025. Subsequent work led to Paved with True Intents, which studies intent-aware training across supervised fine-tuning, preference optimization, reasoning distillation, and reinforcement learning.
Gaussian Process Proximal Policy Optimization (GPPO) · Code
A model-free actor–critic method using deep Gaussian processes to approximate the policy and value function. This was part of a research project I did for the Deep Reinforcement Learning course at the RUG and was a continuation of my bachelor thesis.
Evaluating Uncertainty in Deep Gaussian Processes · Paper · Code
An empirical comparison of Gaussian processes and deep ensembles for uncertainty quantification, calibration, performance, and robustness to distribution shifts.
Other projects
- Architectural Decision Detection — Jira issue classification with an end-to-end ML pipeline.
- Sandbox Runner — Container-based code execution, live logs, and Kubernetes deployment.
- Learning Strategies in Leduc Poker — CFR and DREAM agents for Leduc poker, evaluated by exploitability.
- Image-to-LaTeX for Mathematical Formulas — Transformer-based recognition of printed and handwritten equations.
- Music Recommendation System for Spotify Playlists · Paper — Hybrid recommendations using SVD and Word2Vec.