Selected work

Multi-Agent Documentation System

This tool turns source code into technical documentation. Mistral agents built on the ReAct framework map the logic and dependencies across files to work out the architecture, then generate interactive diagrams and an overview of the whole codebase.

  • Modular setup with specialized Analyzer, Architect, and Synthesizer agents.
  • Custom tools for code parsing and graph analysis integrated with LLM reasoning.
  • A five-step workflow that runs from file extraction and mapping through to synthesis.
  • Supports Python, C, C++, COBOL, Fortran, and Rust, and shows the agents' reasoning live as they work.
  • Multi-Agent
  • Mistral AI
  • ReAct
  • Tool-Use
  • Flask

Insurance Churn Prediction

Alptis, year-long client project via Institut Polytechnique de Paris

Alptis is a French welfare insurance broker. The goal was to predict which policyholders would leave within six months, early enough for retention teams to step in.

  • Merged structured records (consumption, unpaid bills, CRM history) with unstructured emails and claims.
  • Pulled churn signals out of customer correspondence using Hugging Face models for information extraction.
  • Structured the whole pipeline as object-oriented Python, from ingestion through to a six-month churn score.

Work carried out on pseudonymized data. Code and data remain proprietary to Alptis.

  • Churn Prediction
  • NLP
  • Hugging Face
  • Scikit-learn
  • Pandas
  • SQL

Steam Review Generation: LoRA vs. Prompt Engineering

I compared three ways of getting small LLMs like TinyLlama 1.1B to write Steam reviews: zero-shot, prompt engineering, and LoRA fine-tuning. Complex prompts made the small models hallucinate more, and fine-tuning was 34% more accurate than prompting.

  • Built a validation system using SBERT and Mistral to judge review quality.
  • Found that rigid prompts doubled the hallucination rate compared to fine-tuning.
  • Measured diversity and realism across a dataset of 20,000 AI-generated reviews.
  • Managed the pipeline from Steam API scraping to GPU-accelerated training.
  • TinyLlama
  • LoRA
  • Fine-tuning
  • LLM-as-a-Judge
  • Mistral
  • SBERT
show 2 more projects hide

Horse Racing Prediction Platform

This platform scrapes race data every day, predicts outcomes with XGBoost, and recommends value bets wherever the model's probabilities disagree with the market odds.

  • Automated ETL tasks via GitHub Actions to keep the Supabase database updated.
  • Algorithmic betting module that identifies discrepancies in bookmaker odds.
  • Decoupled architecture using FastAPI for the model and Streamlit for the UI.
  • Containerized deployment using Docker and Makefiles.
  • XGBoost
  • Streamlit
  • FastAPI
  • Supabase
  • GitHub Actions
  • Docker
  • ETL

Multimodal RAG System

This RAG system works on technical documents that mix text and images. Mistral Vision describes the charts so text queries can find them, and incremental indexing keeps the knowledge base current without rebuilding it.

  • Integrated Mistral Vision to caption visual data for semantic retrieval.
  • Used spaCy-based semantic chunking to preserve context in retrieved segments.
  • Built an incremental FAISS pipeline with automated Word-to-PDF conversion.
  • Implemented a citation system that links every answer to a specific page.
  • Multimodal RAG
  • Mistral Vision
  • FAISS
  • spaCy
  • Streamlit
  • PyMuPDF

Academic research

Fraud Detection in Imbalanced Datasets

I compared XGBoost with unsupervised autoencoders for credit card fraud detection, on a dataset where only 0.17% of transactions are fraudulent. Instead of accuracy, I scored the models on what missed frauds actually cost.

  • Benchmarked Logistic Regression, XGBoost, and Autoencoders on skewed data.
  • Implemented cost-sensitive thresholding to prioritize financial impact.
  • Used reconstruction-based scoring with Autoencoders to detect zero-day anomalies.
  • Wrote a technical report on model trade-offs and economic utility.
  • Autoencoders
  • XGBoost
  • Logistic Regression
  • Cost-Sensitive Learning
  • Anomaly Detection

IoT Smart Beehive System

2nd Prize, 12th Trinational Students' Congress of Natural Sciences & Technology, Freiburg

I built an IoT system that monitors beehives in real time. It tracks temperature, humidity, and weight, and flags swarming events. Data goes over LoRaWAN, since the hives sit in rural areas without WiFi.

  • Integrated hardware sensors with an ESP8266 to collect environmental data.
  • Built logic to identify swarming based on sudden mass changes in the hive.
  • IoT
  • Embedded Systems
  • ESP8266
  • LoRaWAN
  • Sensors
  • Remote Monitoring
show 1 more project hide

Adversarial Robustness in Traffic Sign Recognition

We tested how far traffic sign classifiers can be pushed before they break. On the GTSRB benchmark, we attacked CNN, MLP, and VAE-based models with FGSM and PGD, then tried three defenses (feature squeezing, VAE input purification, and adversarial training) and compared the robustness each one buys against the clean accuracy it costs.

  • CNNs beat MLPs on clean data, yet proved just as vulnerable to gradient-based attacks.
  • Caught gradient masking in the VAE classifier: robust against transfer attacks, collapsing under white-box access.
  • Built an attack transfer matrix showing how poorly attacks carry across architectures.
  • Adversarial ML
  • PyTorch
  • FGSM
  • PGD
  • VAE
  • GTSRB