Selected Projects

2026 Personal Portfolio: Minimalist Data-Sheet Design

Engineered a highly performant, custom portfolio website from scratch using the latest Svelte 5 framework. Designed with a zero-clutter and progressive disclosure philosophy, mimicking a technical data sheet.

  • Custom search function using 3-gram Jaccard coefficient.
  • Custom CSS Grid animations for butter-smooth accordion rendering without heavy JS libraries.
  • Minimalist two layer design: first layer for sharp edges and precision, second layer soft with rounded corners (on hover).
Svelte 5TypeScriptCSS
View Project
2026 ML Hackathon: Sensor Data Classification

Competed in the ML4NAT university hackathon on a regression task: predicting two coupled material properties (amplitude A ∈ [0,10], phase P ∈ [-3,3]) from 512×512 colored diffractogram images. The signal is implicitly encoded in the position, thickness, and color of concentric rings, and the core challenge was a severe distribution shift – clean training data versus basement images corrupted by unknown, stacked distortions from older measurement devices.

Clean vs. distorted diffractogram comparison
Left: clean training samples. Right: basement samples with unknown distortions.
  • Built a custom preprocessing pipeline: centroid-based centering via affine transforms, linear background gradient removal via least-squares plane fitting, and inpainting of dead pixel columns using neighbor interpolation.
  • Augmented training with artifact-like corruptions (vertical stripe dropout, brightness gradients, blur, geometric transforms) to approximate the unseen basement distortions.
  • Ensembled ResNet18 and EfficientNet-B1 backbones; applied 8-fold test-time augmentation (4 rotations × horizontal flip) with prediction clipping to valid (A, P) ranges.
  • Achieved >88% overall accuracy on the hidden test set, clearly outperforming the baseline.
  • Secured bonus placement based on model performance metrics.
PythonPyTorchComputer VisionPandasSensor DataResNet18EnsembleEfficientNet-B1Test-Time Augmentation
2026 Hardware-Efficient Person Detection on Jetson Nano

Optimized and deployed Tiny YOLOv2 for real-time person detection on an NVIDIA Jetson Nano, starting from a 20-class generalist and ending in a 1-class specialist running at 83 FPS. The project was a full embedded-ML pipeline: fine-tuning, structured pruning, quantization, and ONNX/TensorRT deployment – with an explicit speed/accuracy trade-off at every stage.

Person AP and test loss vs. inference time for pruning rates from 0 to 80 percent. Sweet spot marked at 40 percent.
Pruning trade-off: AP (blue) and test loss (pink) versus inference time. Points are annotated with the pruning rate. Accuracy stays stable up to 40 % sparsity, marked as the sweet spot.
  • Fine-tuned the pre-trained VOC backbone to person-only using differential learning rates (backbone 1e-6 to prevent catastrophic forgetting, detection head 1e-4) – outperforming head-only training in an ablation study.
  • Built a custom augmentation pipeline (bbox-safe crops, horizontal flips, photometric jitter, Gaussian noise) to counteract the small dataset and emulate low-cost Jetson camera sensors.
  • Applied iterative L1-structured pruning from 10–80 % sparsity; identified the “accuracy cliff” at 40 % and selected it as the optimal trade-off (60 MB to 22 MB).
  • Final model: 0.37 AP at 83 FPS (12 ms latency) – a 4.5x speedup over the native PyTorch GPU baseline, exceeding the real-time target of 20 FPS by over 4x .
PyTorchTiny YOLOv2TensorRTPruningTransfer LearningJetson NanoONNXQuantization
View Project View full results
2025 TableXAI - Structured Table Extraction

A full-stack MVP web service to extract tables from images and PDFs. Built with a local extraction pipeline capable of running on server CPUs, complete with user and account management. Leverages Mistral OCR for complex tasks.

Demo of the TableXAI pipeline.
The complete Upload → Extraction → Output flow, directly in the browser.
  • Lightweight Table extraction from PDFs and images using PaddleOCR
  • Consists of three pipeline steps: 1. Table recognition 2. Table structure recognition 3. OCR
  • Runs on CPU - no dedicated server needed
  • Mistral OCR for complex extractions
Vue.jsPythonPaddleOCRMistral OCRPostgreSQL
View Project
2024 Co-founded and developed Fluxio - A web-based statechart editor for the ArmarX skill framework.

Fluxio serves as an easily comprehensible and user-friendly interface for visually programming H2T robots, built upon ArmarX. With Fluxio, you can create complex robot capabilities without the need for a deeper understanding of ArmarX or coding skills. A skill is an action the robot can execute. These actions can then be orchestrated to create new actions, using Flxuio. This enables the execution of complex robots behaviors without writing code. Continued by the lab after my time there.

PythonC++RoboticsArmarXStatechartH2T
View Project

More Projects

2025 Sourcerer - Knowledge Management

A locally running tool with a web interface making web research fast and easy. During web research it lets the user save a snapshot of a selected part of a website by pressing a pre-configured keybind. The snapshot is saved into a local DB and can be managed in a web interface. An LLM summarizes the content of the web page as well as metadata (upload date, URL, time of saving). The database lets the user create tags to manage the snapshots.

  • Fast and easy web Research
  • LLM Summary of source
  • Local Database for management of sources
PythonGroq APIResearch
View Project
2025 Ollama Mini RAG Chat

My first contact with RAG and vector databases. It runs a local ChromaDB. The user ingests PDFs into it. A locally running LLM deployed via Ollama can be asked questions based on the pdfs by simple top-k retrieval. It displays the source page of retrieved information in the chat interface.

  • Retrieval Augmented Generation
  • Interactive Chat with source information
  • PDF document ingestion
PythonOllamaRAGChromaDB
View Project
2025 Company Sentiment Analysis

Automated scraping pipeline for Kununu and Trustpilot reviews, generating sentiment analysis using Llama-3.3-70b, BERT, and advanced word matching.

PythonLlama-3.3-70bBERTWeb Scraping
View Project