Projekte
Reinforcement Learning for Robotics
Ich trainiere RL-Agenten für Roboterbewegung und -steuerung in physikbasierter Simulation. Ich setze die Umgebungen in ROS 2 und MuJoCo auf, forme die Rewards, trainiere die Policies und vergleiche die Agenten mit eigenem Python- und CUDA-Code. Derzeit untersuche ich Multi-Agent- und Self-Play-Methoden.
Stack: Python, PyTorch, CUDA, ROS 2, MuJoCo.
I train RL agents for robot motion and control in physics-based simulation. I set up the environments in ROS 2 and MuJoCo, shape the rewards, train the policies, and benchmark the agents with my own Python and CUDA code. I am studying multi-agent and self-play methods.
Stack: Python, PyTorch, CUDA, ROS 2, MuJoCo.
Load Forecasting Benchmark and Convex Stacking Ensemble
Ich habe 23 Prognosemodelle auf fünf öffentlichen Datensätzen unter zwei Protokollen und über 24 Ursprünge hinweg verglichen. Daraus ist das Convex Stacking Ensemble entstanden, eine Methode, die die Kombinationsgewichte in geschlossener Form löst. Die Ergebnisse habe ich mit statistischen Tests abgesichert: Diebold-Mariano, Cliff’s Delta sowie Friedman mit Nemenyi.
Stack: Python, PyTorch, scikit-learn, statsmodels.
I benchmarked 23 forecasting models across five public datasets under two protocols, over 24 origins. I designed the Convex Stacking Ensemble, a method that solves the combination weights in closed form. I confirmed the results with statistical tests: Diebold Mariano, Cliff delta, and Friedman with Nemenyi.
Stack: Python, PyTorch, scikit-learn, statsmodels.
Real-Time AI Interview Agent
Ein Sprachagent, der ein Live-Interview führt und in Echtzeit antwortet. Er nutzt Sprache-zu-Text, ein LLM und Sprachausgabe, mit Turn Detection und Barge-in, damit man mitten in der Antwort unterbrechen kann. Über 30 Testinterviews lag die mediane Antwortzeit bei 850 ms, die Kosten unter 20 Cent pro Sitzung.
Stack: Bun, React, OpenAI Realtime API, Deepgram.
A voice agent that runs a live interview and answers in real time. It uses speech to text, an LLM, and speech output, with turn detection and barge-in so the user can cut in mid answer. It reached a median 850 ms response time across 30 test interviews and held cost under 20 cents per session.
Stack: Bun, React, OpenAI Realtime API, Deepgram.
Generative Media Platform
Eine Plattform für Text-zu-Video, Text-zu-Bild und Face Swap. Jede Anfrage wird nach Modellwahl, Dauer, Auflösung und Seitenverhältnis an die passenden Modelle geleitet. Face Swap läuft auf einem selbst gehosteten Dienst.
Stack: TypeScript, React, Express, Prisma, Postgres, OpenRouter, MinIO, Docker.
A platform for text to video, text to image, and face swap. It routes each request across models by choice of model, duration, resolution, and aspect ratio, and serves face swap on a self-hosted service.
Stack: TypeScript, React, Express, Prisma, Postgres, OpenRouter, MinIO, Docker.
jobscrap
Ein täglicher Aggregator für Praktika, Werkstudenten- und HiWi-Stellen in Deutschland. Er holt Anzeigen von öffentlichen Jobbörsen, bewertet sie gegen mein Profil und schreibt die besten Treffer in eine Excel-Datei, mit Fit-Score, Begründung und Bewerbungslink. Läuft jeden Morgen um 07:00 Berliner Zeit über GitHub Actions. LinkedIn bleibt außen vor.
Stack: Python, GitHub Actions. → GitHub
A daily aggregator for internships, Werkstudent, and HiWi roles in Germany. It pulls listings from public job boards, scores them against my profile, and writes the best matches to an Excel file with fit score, reason, and apply link. It runs every morning at 07:00 Berlin time on GitHub Actions. It does not use LinkedIn.
Stack: Python, GitHub Actions. → GitHub