Work

Things I've built

Production AI systems at Mercedes-Benz R&D, and side projects where I try new ideas.

At work

Internal systems, so no public code.

Mercedes-Benz R&D · 2026

Knowledge graph modelling agent

A companion agent that reads technical documentation and proposes changes to a knowledge graph model.

Built on a multi-agent architecture with MCP (JSON-RPC) orchestration and a Neo4j knowledge graph, with specialised agents for intent routing, retrieval and multi-hop reasoning.

  • Maps entities and relationships in technical documents to standard ontologies.
  • Recommends or applies graph model changes, with a human approving each one.
  • Manual edits trigger automated impact analysis and suggestions for related changes.
  • LangGraph
  • MCP
  • Neo4j
  • Python

Pipeline

  1. Tech docs
  2. Extract
  3. Map ontology
  4. Propose
  5. Human review
  6. Neo4j

Mercedes-Benz R&D · 2025

Enterprise RAG platform

92% grounded answers across 10K+ queries a month

Retrieval pipelines behind an internal question-answering platform used across the company.

The work that matters in a RAG system is mostly upstream of the model: what goes into the index, how it is split, and how you know an answer is grounded. These pipelines feed a production platform that answers over 10,000 questions a month.

  • Preprocessing for 500+ documents, covering chunking, embeddings, metadata enrichment, deduplication and vector indexing.
  • Rule-based and LLM-as-a-judge quality checks that catch drift and inconsistencies before release.
  • Tracing and evaluation of agent runs with LangSmith.
  • LangChain
  • Azure OpenAI
  • Vector search
  • Python

Pipeline

  1. Documents
  2. Chunk + enrich
  3. Embed
  4. Vector index
  5. LLM
  6. Judge

Mercedes-Benz R&D · 2025

ODI to dbt migration agent

~90% of legacy queries converted automatically

An agent that rewrites legacy ODI SQL as dbt models for a Databricks migration, and checks its own output.

Migrations stall on the long tail of hand-written SQL. The agent handles most of the conversion and validates its own output against the source data.

  • Converts legacy ODI SQL to dbt-compatible queries.
  • Validates every conversion with row counts, schema checks and hashed comparisons.
  • Databricks
  • dbt
  • LLMs
  • PySpark

Pipeline

  1. ODI SQL
  2. Parse
  3. LLM rewrite
  4. dbt model
  5. Validate

Personal projects

Built to try ideas outside work.

Personal · 2025

Agentic RAG research assistant

10K+ documents behind hybrid retrieval

An autonomous research assistant that searches the web, retrieves documents and runs code.

A personal project to try the agent patterns I use at work without enterprise constraints.

  • LangGraph state machine for web search, retrieval and code execution, with self-refinement loops.
  • Hybrid retrieval (semantic plus keyword) with an evaluation framework built on RAGAS metrics.
  • LangGraph
  • GPT-4
  • Pinecone
  • Tavily

Pipeline

  1. Question
  2. Planner
  3. Search
  4. Retrieve
  5. Run code
  6. Refine

Personal · 2026

This website

This portfolio. Hand-built in Astro with no animation libraries.

  • Static HTML from markdown and YAML, validated against schemas at build time.
  • A canvas neural network, an agent-trace terminal and a ⌘K menu, in plain TypeScript.
  • Every animation switches off for visitors who ask for reduced motion.
  • Astro
  • TypeScript
  • Netlify

Pipeline

  1. Markdown
  2. Astro build
  3. Static HTML
  4. Netlify

Personal · 2025

Multimodal visual QA

Ask questions about images, PDFs and text, with answers streamed back live.

  • Async FastAPI endpoints over images, PDFs and text.
  • OpenCLIP semantic image retrieval combined with an OCR pipeline.
  • SSE token streaming with conversation memory.
  • GPT-4o
  • OpenCLIP
  • Tesseract
  • ChromaDB
  • FastAPI

Pipeline

  1. Image / PDF
  2. OCR + CLIP
  3. ChromaDB
  4. GPT-4o
  5. SSE stream

Personal · 2024

Fine-tuned domain LLM

Phi-3.5 Mini fine-tuned with LoRA on 10K+ instruction samples.

  • LoRA fine-tuning on Apple silicon with MLX, with experiments tracked in Weights & Biases.
  • Lower inference latency from KV-cache reuse and lazy loading.
  • Phi-3.5 Mini
  • LoRA
  • MLX
  • W&B

Pipeline

  1. 10K samples
  2. LoRA on MLX
  3. W&B evals
  4. KV-cache serving

Personal · 2024

Real-time fraud detection

Streaming fraud detection with LSTM autoencoders and Isolation Forests.

  • Event-driven pipeline on Kafka scoring transactions as they arrive.
  • Redis caching and Kubernetes autoscaling to keep latency low under load.
  • PyTorch
  • Kafka
  • Redis
  • Kubernetes

Pipeline

  1. Transactions
  2. Kafka
  3. LSTM AE + iForest
  4. Redis
  5. Alert