Projects

Things I designed and built hands-on, from embedded automotive code to AI products. The code bases are private, so each card names the architecture decision behind it and what came out of it.

AI Compliance Platform

Current

Turns regulations into concrete actions for companies, using AI agents.

Decision
Designed and specified with arc42: quality goals first, domain core isolated from the AI agents via ports, so models can change without touching business logic.
Built
Architecture, backend, AI agents, frontend and cloud infrastructure.
arc42DDDCrewAILangGraphAzureOpenTofuPostgres

Agent Harness & Skills

Current

Lets developers extend a multi-repo platform from day one, guided by their AI agent.

Decision
Architecture rules and patterns shipped as agent skills instead of docs, so every change follows the same design, whoever writes it.
Decision
Tool-agnostic: works with Claude Code, OpenCode and Pi alike.
Built
Skills, patterns and the harness that delivers them.
Claude CodeOpenCodePiMCPAgent Skills

Embedded Codebase Restructuring

One embedded codebase, several ECU targets, several teams.

Decision
Cut the codebase along layer boundaries into Gradle modules, each with one clear owner.
Result
Faster builds, lower cognitive load for the teams, independent delivery per target.
C/C++GradleConanGreenHillsVector DaVinci

Embedded CI/CD Platform

From no CI at all to one delivery pipeline shared by all teams.

Decision
A shared library instead of per-team scripts: preflight, build, test, encrypt, analyse and deploy as reusable building blocks.
Result
Delivery scaled with the teams; took over ownership of the entire CI/CD.
JenkinsGroovyJob DSLDockerAWSGitLabAnsible

Developer Tooling: CLIs & SDK Generator

Tools that bridge systems in CI and let my teams move faster.

Decision
Clean Architecture as a fixed frame: tools stay maintainable and extendable, and juniors grow into senior thinking by working within it.
Decision
Generated SDKs instead of hand-written clients: teams build against an evolving backend without waiting.
Result
Over 90% test coverage, OAuth-ready clients in a few lines of code.
PythonClean ArchitectureOpenAPIOAuthPoetryGitLab CI

ART Communication Hub

One channel for all project communication in an Agile Release Train.

Decision
Communication as code: every message is a merge request, reviewed, versioned and rendered into a consistent email design.
Result
Replaced scattered Teams, email and Confluence posts; ART leads can steer and intervene before anything goes out.
Docs as CodeGitLabMJMLNode.jsSphinx