Two years on the backend of an industrial-IoT AI platform at Perinet, plus my own deep work on RAG, agents and LLMOps — judged by whether it measurably works.
Available full-time from summer 2026 · open to relocate
knowledge_graph.livelive
18 nodes · 27 edgeshovertap to pull
01
About
// who & what
Production first. Python/Go services on real-time MQTT streams, FastAPI, Docker/K8s, CI/CD — two years at Perinet, including the model-benchmarking that shaped the platform.
Depth through my own projects. Hybrid RAG with RAGAs + MLflow eval, multi-agent LangGraph systems, an LLMOps tracer, and a GraphRAG stack.
Not only LLMs. A deterministic wind-farm installation scheduler over 20 years of hourly wind — the model only handles the human edges.
M.Sc. AI at BTU Cottbus (thesis phase) · open to AI/ML/LLM Engineer roles across Germany.
Aravind Pradeep, Samira Nazari, Mahdi Taheri, Christian Herglotz
Token merging, early exiting and token pruning each cut a Vision Transformer's inference cost alone, but combined they destabilise the intermediate representations. Fusion stages them so they cooperate — merge first, check confidence, prune only what continues — with routing modules that adapt compression per input and expose the accuracy/latency trade-off at inference time, no retraining.
48% less inference energy · up to 4× lower calibration error · ImageNet-1k, DeiT-S
Weather-aware scheduler for a 12-turbine build: 48 campaigns × 20 years of hourly wind, priced as risk.
PythonNumPypandasPydanticFastAPIOptimization
Crane lifts can't be paused, have wind limits, and must fit working hours. The scheduling maths stays deterministic; the LLM handles only the human edges.
AI German tutor that builds your curriculum from your own mistakes.
32 CEFR lessons · error-driven drills · live app
Next.jsTypeScriptSSE streamingZodTailwind
Every error you make in live conversation is logged and turned into drills: the reply streams immediately while a parallel corrector marks exact error spans, and a decay-weighted formula — not an LLM — picks what you practice next.
Multi-hop answers by traversing a built knowledge graph, with citations.
knowledge graph · k-hop retrieval · cited answers
GraphRAGnetworkxPydanticLLM extractionPython
Entity and relation extraction builds a typed graph first, so a question that spans three documents is answered by walking edges instead of hoping one chunk contains everything.
Planner→Researcher→Writer→Critic on LangGraph, question to sourced report.
LangGraph · strict role boundaries · CI/CD
LangGraphCrewAIPydanticFastAPIDocker
Each role gets a Pydantic-typed contract and no access to the others' tools, which is what keeps a four-agent loop from collapsing into one agent doing everything badly.
Hybrid BM25+dense+RRF retrieval with a RAGAs/MLflow regression harness.
0.94 hit@5 · 0.96 citation presence
QdrantRAGAsMLflowLangChainFastAPI
Every retrieval change runs against a fixed question set and logs to MLflow, so a quality regression shows up as a failed run rather than a complaint months later.
Whisper → NER → event classification → summary, on a 4 GB GPU.
+13% F1 · 8.4× faster inference
WhisperXLM-RoBERTaPyTorchMLflow
The whole German-language chain was engineered to fit one consumer GPU, which forced quantisation and batching decisions that a bigger card would have hidden.
QLoRA Qwen2-0.5B extracting structured JSON from job descriptions.
100% JSON validity · <4 min on 4 GB GPU
QLoRAQwen2PEFTPyTorch
Training roughly 0.44% of the parameters was enough to get reliable structured output from messy postings — a small tuned model beating a large prompted one on this task.
Resume Tailor
CLI that tailors résumé + cover letter and self-checks before the PDF.