Projects
A collection of research projects, software applications, and computational experiments.
Nuclei Segmentation: a CPU Swarm + HPC Loop
Reproducing state-of-the-art cell-nucleus instance segmentation and classification on PanNuke, on a GPU-less server that runs a swarm of small local LLMs to brainstorm and analyse, with the Snellius supercomputer doing the training. An honest ladder from a 0.38 guess to a leakage-checked 0.4989 mPQ, a swarm-proposed method that actually worked, and a data leak caught before it faked a result. Full LaTeX report and write-up.
T5 @ Vyno: Simplifying Wine Descriptions
A second-year BSc AI team project for wine startup Vyno: an NLP / NLG system that turns dense sommelier wine descriptions into short, readable text for everyday consumers via keyword extraction and generation. Includes report, slides and a demo video.
Stokhos: Emergency Accident Prediction
Predicting where and when ambulance incidents occur from two years of Zuid-Holland-Zuid emergency-call data (84k rides). Cyclical regression, Random Forest and LSTM models on a grid map to preposition emergency vehicles and cut response times. UvA "Leren en Beslissen".
Human-in-the-Loop: Behavior Cloning for CarRacing
Imitation learning project applying behavior cloning to OpenAI Gym's CarRacing-v2: a CNN learns a driving policy from human demonstrations (frames → steer/gas/brake). Studies how dataset size drives performance and the limits of behavior cloning.
GVP-GNN + Transformer on ATOM3D
Extends Geometric Vector Perceptrons (GVP), a rotation-equivariant GNN for protein structure, with a TransformerConv attention layer to improve the baseline. Scripts for training / testing / sampling on protein design and all ATOM3D tasks are provided.
Chat bot w/ knowledge base
A multilingual LLM chatbot and Alevi knowledge hub, built in Streamlit. Answers questions about Alevi belief and traditions using retrieval over a curated knowledge base (Gemini / OpenAI). Originally made by Sinan Özcan and continued/extended here. Live on Streamlit.
Neural Dynamics of Predictive Coding
Connecting text and images with a biologically-plausible predictive coding network (Rao & Ballard). Learns a shared representation over colored shapes and text labels for cross-modal reconstruction, studying how model architecture shapes learning. GitHub page coming soon.
Home Lab: Kubernetes, Spark & Self-Hosting
Building out a larger self-hosted home server to learn infrastructure hands-on (Docker containers, Kubernetes, and Spark / PySpark for distributed data processing). Already running a Hetzner cloud server deployed with Coolify, now standing up a bigger home lab for deeper experimentation. Work in progress, more details coming soon.
NLP Bias
Can we shift a model's gender bias by fine-tuning GPT-2 on more or less stereotypical slices of the BUG dataset? We probe the validity and reliability of the CrowS-Pairs metric and find that fine-tuning barely moves the score.
NLP - Sentiment Classification
Comparing neural models for sentence sentiment on the Stanford Sentiment Treebank (SST): Bag-of-Words, CBOW, Deep CBOW, LSTM, and Tree-LSTM. We study how word order and sentence length affect the accuracy versus complexity trade-off.
NLP Probing
Do transformers understand language better than LSTMs? We probe distilGPT2 and an LSTM for POS tags and dependency-tree structure, using a control task to separate real linguistic knowledge from memorisation.
NLP - Hallucinations
While natural language generation has seen significant improvements, hallucinations remain a critical issue, producing irrelevant or factually incorrect information. This project develops an ensemble of metrics to evaluate factual correctness in generated text. Our findings demonstrate that fine-tuning effectively mitigates hallucinations, whereas prompt engineering shows limited effectiveness.
Bachelor Thesis - Damen
Research project conducted at Damen Shipyards on computational methods.
Master Thesis - Predictive Coding @ SILS
Investigating predictive coding mechanisms in neural networks at the Systems, Information, Learning & Society Lab.
AI4Med Ribfrac
Detection of rib fractures in CT scans with UNet3+.
Mug Classifier on Vertex AI
A from-scratch CNN that classifies a mug photo into one of four color classes (white, black, blue, transparent), trained in TensorFlow and deployed to Google Cloud Vertex AI as a live REST prediction endpoint.
ML Reproducibility - LASSI
Reproducibility study of Latent Space Smoothing for Individually Fair Representation (LASSI). Verifying claims about incorporating individual fairness into deep learning models.
C++ Graphical Games (SDL2)
Real-time 2D space-shooter built in C++ with SDL2. Pilot a ship, dodge and shoot waves of chasing viruses.
Philosophy & AI: Dangers of Deepfake Technology
A philosophy-of-AI essay weighing the moral and ethical harms of deepfakes against their benefits, and arguing when restriction becomes necessary. Covers information warfare, identity, and the erosion of visual evidence as trusted proof.
2D lattice-Boltzmann particle flow
A simple lattice-Boltzmann implementation for 2D flow simulations with particle tracking.