Skip to content
View mklemmingen's full-sized avatar
🐚
🐚

Highlights

  • Pro

Organizations

@Boom-Softwares

Block or report mklemmingen

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mklemmingen/README.md

Hey, I'm mklemmingen

Media- & Communication Informatics @ Hochschule Reutlingen

Building production tools, ML research pipelines & open-source utilities as well as helping to teach CS Fundamentals.

From automotive test automation at Mercedes-Benz to educational AI research at the Leibniz Institute.

📫 contactmarty.certify938@passinbox.com  ·  📄 Papers


Python TypeScript Java C++ JavaScript R React Next.js Spring Boot Tailwind TensorFlow Playwright Firebase Arduino Linux


Featured Projects

Mercedes-Benz — Test Session Data Collection & Ticket Generation

Tech: Python 3.12, wxPython, Playwright, OpenCV, PyTurboJPEG, edge-tts, Google Gemini API, pandas, matplotlib, pytest Time: Q4 2025 – Q1 2026

Production desktop tool for vehicle test engineers. When a test driver presses a marker during a session, the tool simultaneously captures video clips, downloads diagnostic reports, cuts logger traces, fetches vehicle state history, and generates AI-powered defect descriptions — all in parallel, aggregated into a ready-to-file ticket.

Built on a producer-consumer pipeline: marker events broadcast to bounded queues consumed by independent feature workers with timeout handling, circuit breakers, and automatic thread restart with exponential backoff.

Scale: 92,000+ lines · 261 source files · 1,000+ tests · 52+ architecture docs Impact: Reduces per-incident data collection from 30+ min across 5+ systems to under 10 min

Internal tool — source not publicly available

Mercedes-Benz

Playwright    OpenCV    wxPython

SemesterModuleMatching — 3-Layer PyPI Package Suite

WebUntis Public API Client, HSRT Timetable Wrapper & Elective Schedule Optimizer CLI

Tech: Python 3.10+, requests, icalendar, WebUntis REST API, GitHub Actions, PyPI Trusted Publishers Time: Q1 2026 · Apache-2.0 License

Three packages forming a layered dependency chain for querying public university timetable data and optimizing elective course selections. The first two are published on PyPI; the CLI tool installs directly from GitHub:

  • Layer 1 — webuntis-public: Generic Python client for the WebUntis public REST API. No auth required. Supports class listing, timetable fetching with rate limiting and frozen dataclass models.
  • Layer 2 — hsrt-timetable: Convenience wrapper pre-configured for Hochschule Reutlingen with known program codes, semester-to-group mapping, and academic calendar utilities.
  • Layer 3 — wahlfach-matching: CLI that aggregates subjects across class groups, scores electives against schedule conflicts and user preferences, and exports ranked results as ICS calendar files.

Each package has its own repo, CI/CD pipeline (GitHub Actions + PyPI Trusted Publishers), and test suite.

webuntis-public webuntis-public on PyPI hsrt-timetable hsrt-timetable on PyPI wahlfach-matching

PyPI

Reutlingen University

ALEE — Educational Question Generation System

Research implementation using one-shot multi-layered small LMs, refined through aggregated data-backed expert suggestions and DSPy Chain-of-Thought. Leibniz-Institut & University of Tubingen.

Tech: DSPy, Python, OLLAMA, Pydantic, FastAPI, ROCm Time: Q3 2025

Three-layered educational architecture with single-pass processing: Orchestrator dispatches to dedicated data-backed generators, whose outputs are validated by parallel expert panels, then refined through consensus — replacing iterative cycles with a single-pass expert pipeline.

Roles: Educational parameters & prompt modeling: K-Laut · System architecture, Pydantic schemas & DSPy implementation: mklemmingen

Part of ALEE research project (Adaptive Learning in Economics Education)

Research Repo

OLLAMA

Leibniz-Institut    University of Tubingen

LogChirpy — Ornithological Archival App

Tech: TensorFlow.js, TypeScript, React Native, Expo, SQL, Firebase, Computer Vision Time: Q2–Q3 2025 · AGPL-3.0 License · ✅ Finished

Mobile app for live camera-feed bird identification computed entirely on-device, archiving sightings, identifying from pictures and sounds, and synchronizing logs visually. Uses wrapped mobile object detection and classification with converted open-source models. Optionally syncs to Firestore with authentication and DSGVO-conformity.

LogChirpy

LogChirpy Object Detection
Reutlingen University

Bogenliga — Digitaler Schusszettel

Tech: Spring Boot, Java, REST APIs, TypeScript Time: Q2–Q3 2025 · All rights with BetterCallPaul & Bogenliga Deutschland · ✅ Finished

Module for app.bogenliga.de — a fully digital pass entry system for official archery tournaments. Leverages state machines, admin oversight, and backend-controlled frontend servicing within an existing full-stack application.

Backend Frontend

State Machine
BCXP    Reutlingen University

Customer CV & HR Automation Evaluation Tool

Tech: React, TypeScript, Tailwind, server-side rendering Time: Q3 2025 · All rights with Wumbatz · ✅ Finished

Portfolio/CV website with a dynamic questionnaire framework for a bachelor thesis on HR automation evaluation. The tool creates the entire questionnaire dynamically from a server-side CSV (so non-technical users can modify questions and logic), applies weighted calculation logic, generates a spider diagram, and uses a HuggingFace instance for natural language result processing.

Live: daviddronia.vercel.app

Repo

CV Website
CBS    DHL

More Projects (click to expand)

MASK — Machine-Learning Assisted Skeleton Kinect Tracking

Tech: Python, MediaPipe, TouchDesigner, Kinect V2 Time: Q2–Q3 2025 · AGPL-2.0 · ✅ Finished

Threshold-based pose and 2D position recognition in TouchDesigner using Kinect V2 and MediaPipe. Real-time skeleton tracking with distance and angle calculations driving responsive body-relative visuals for dance and performance setups. Built in collaboration with Filmakademie Ludwigsburg.

Presentation video

MASK

Skeleton Tracking
Filmakademie Ludwigsburg   Reutlingen University

Grub2-sleekScience

Tech: GRUB · Time: Q3 2025 · GPL · ✅ Finished

Minimal modern GRUB theme showcasing backgrounds with patterns from various fields of research and development.

Repo

Topographic Design

EntropyVisualizer — Arduino Sensor-Based Randomness

Tech: C++ · Time: Q2 2025 · AGPL-3.0 · ✅ Finished

Microcontroller with gas meter, temperature/humidity sensor, microphone, display, and LED strip. Generates randomness from analog sensor data, visualizes it with colors, and outputs random unsigned integers via serial for near-true-randomness applications.

Repo

Entropy Visualization

TelegramToMap — Automatic Threat-Location Mapping

Tech: Python, QGIS · Time: Q2 2025 · AGPL-3.0 · 🔄 Ongoing

Scans Telegram group messages for Ukrainian air alarms, extracts location data of UAVs, missiles, and planes, and adds time-fading markers to a QGIS map. Fully local after receiving the Telegram data.

Repo

QGIS Heatmap

Exif_DataByDate_Sorting

Tech: JavaScript · Time: Q1 2025 · AGPL-3.0 · ✅ Finished

Automates file organization into structured year/month/type directories using EXIF metadata or file system dates. Built for data recovery and long-term archival with backup verification and hash-checks.

Repo

File Sorting

R Data Manipulation Tutorial

Tech: R, HTML, CSS, Markdown · Time: Q1 2025 · MIT · ✅ Finished

Interactive local-hosted browser tutorial for learning statistical approaches in data science through a self-collected dataset.

Repo

Hypothesis Test   Reutlingen University

Mixtape — 270° Interactive Digital Art

Tech: TouchDesigner, DaVinci Resolve, Python, Arduino C++ · Time: Q1 2025 · AGPL-3.0 · ✅ Finished

Interactive digital art installation to experience a life's musical emotions through memories of birthdays.

Repo

Reutlingen University

Modern Offroad Vehicle Infotainment System

Tech: Figma, HTML · Time: Q1 2025 · MIT · ✅ Finished

Infotainment system design for a family outdoor car with improved machine control and entertainment.

Repo

Infotainment System   Reutlingen University

KatzenKaffee

Tech: Next.js, React, SQLite · Time: Q4 2024 · AGPL-3.0 · ✅ Finished

Website to learn sustainable cat owning. Live: katzenkaffee.vercel.app

Repo

KatzenKaffee   Reutlingen University

BoardGame Jam Frameworks (Blank, Chess, Checkers)

Tech: Java, LibGDX · Time: Q3 2024 · AGPL-3.0 · ✅ Finished

Three board game frameworks — a blank template, a chess implementation, and a checkers implementation — all free to use.

Blank Chess Checkers

Board Game Framework   MWK Baden-Wurttemberg

CSS Art Tutorial

Tech: HTML, CSS · Time: Q3 2024 · AGPL-3.0 · ✅ Finished

Quick tutorial on creating dynamic animated logos with CSS.

Repo

CSS Art

Q1–Q2 2024 Study Projects

Tech: C++, C#, Java, Python · Time: Q1–Q2 2024 · MIT · ✅ Finished

  • Levenshtein Distance Corruption-Restorer (C++)
  • Producer-Consumer-Problem Displayer via AWT (Java)
  • Function Graph Display (Python/Tkinter)
  • PGM Filter Operations with Custom Canvas Display

Repo

Study Projects   Reutlingen University

Boom Chess

Tech: Java, libGDX · Time: Q3 2023 – Q1 2024 · AGPL-3.0

Military-pixel pieces with health and complex relations fight on a modern chess board. Features 3 bot modes, challenge modes, multiple team colors, and music by Wambutz.

Desktop Android   Play on itch.io

Boom Chess   Reutlingen University

Senet: A Simple Workers Game

Tech: Java, libGDX · Time: Q4 2023 · AGPL-3.0 · ✅ Finished

The oldest known board game, re-created as a speedrun challenge with libGDX.

Repo

Senet

Tropico 6 — Advanced Teams

Tech: Unreal Engine 4, C++ · Time: Q4 2023 · CC0 · ✅ Finished

Adds team features to multiplayer — no cooldown on team money transfer. A simple UE4 asset overwrite.

Repo

Tropico 6

Space Mouse: The Special Operodent

Tech: Python · Time: Q2 2023 · CC0 · ✅ Finished

A randomly generated 3D maze-solving game with a space mouse searching for cheese.

Repo

Space Mouse

Hangman 2 — The Dictionaries Strike Back

Tech: Python · Time: Q2 2023 · Unlicense · ✅ Finished

A word-guessing game using datasets and hash maps to calculate the most likely word.

Repo

Hangman 2   Reutlingen University

ComBadge — Natural Language to API Interface

Tech: Python, CustomTkinter, Ollama, Qwen 2.5-14B, Pydantic, SQLite · Time: Q4 2025

Local LLM-powered desktop tool that converts natural language emails and commands into structured API requests via Chain-of-Thought reasoning. Features intent classification, template-based JSON generation with validation, human-in-the-loop approval, and comprehensive audit logging — fully offline with zero cloud dependencies.

Bare NLP-to-API framework without configuration to real systems. Free to fork with credit.

Repo

HIDmibbi — Educational USB Security Visualization

Tech: C++, Arduino · Time: Q3 2024 · AGPL-3.0

Educational tool demonstrating HID (Human Interface Device) attack vectors using cheap USB microcontrollers. Visualizes rubber ducky-style exploits through a UI to illustrate USB security vulnerabilities on Windows 11.

Repo

HIDmibbi

StopTheToken

Tech: Plain text · Time: Ongoing · Unlicense · 🔄 Ongoing

A community-fed Pi-hole blocklist of websites using AI-generated content for unoriginal articles.

Repo

Retro-Game Guides · 🔄 Ongoing

Turn and Burn


GitHub Stats

GitHub Stats    Top Languages



GitHub Streak
TypeRacer scorecard for mklemmingen



Thanks for scrolling!

Pinned Loading

  1. StopTheToken StopTheToken Public

    pihole blocklist for ai-generated websites. community-fed -> add to it!

    9 2

  2. boom-chess boom-chess Public

    Idiocracied chess, with health, guns, obstacles and stuff

    Java 1

  3. KatzenKaffeeWeb KatzenKaffeeWeb Public

    JavaScript

  4. MASK MASK Public

    Machine-Learning Assisted Skeleton Kinect Tracking | Combined KinectV2 with MediaPipe using Data Synchronisation and Kalman Filters for improved accuracy skeleton tracking | Added relation- and rul…

    TeX 1

  5. cleanSmut cleanSmut Public

    script that scans directories for images and videos, identifies potentially NSFW content using the OpenNSFW2 library, and moves flagged files to a separate folder. The script processes files in par…

    Python 5

  6. bettercodepaul/swt2-bsa-backend bettercodepaul/swt2-bsa-backend Public

    SWT2 - Bogenliga Application - Spring Boot Server

    Java 7