Full Stack Developer · Team Lead · building tooling for AI agents
Java / Spring Boot · Angular · Go · TypeScript — from Essen, Germany
- Team Lead a lot of coffee
- Came up through Java · Spring Boot · Angular; these days I also ship Go, TypeScript and the odd Swift app
- Currently obsessed with the boring-but-critical parts of AI agents: durability, guardrails, audit trails, MCP
- IHK Agile Leadership · Certified Scrum Master
- Ask me about Spring AI, MCP servers, Shopware 6
- Hardening agentgate: policy + audit + kill switch for MCP tool calls, one Go binary
- Shipping spring-durable-agents: agents that survive a crash or redeploy and pick up where they stopped
- Growing shopware-mcp with every "can the assistant also…" question from shop owners
- Training roofsight models that run on the phone in the installer's hand
| Project | What it does | Stack |
|---|---|---|
| agentgate | Policy, audit log and kill switch for MCP tool calls. A single-binary proxy between your agent and its tools — deny rm -rf, ask before destructive calls, freeze every agent on the machine, replay yesterday's session against tomorrow's policy. |
Go, SQLite, MCP |
| spring-durable-agents | Durable execution for Spring AI agents. Crash, redeploy, resume. Spring Boot starter with PostgreSQL step store, human-in-the-loop approvals and Actuator endpoints. | Java, Spring Boot, PostgreSQL |
| shopware-mcp | The MCP server for Shopware 6. Sixteen curated tools, a one-call shop health audit, sales reports, guarded dry-run writes — "Is everything okay with the shop?" answered in one prompt. | TypeScript, MCP |
| roofsight | Ground-level roof segmentation for PV installers: how many modules fit on that roof, from a phone photo instead of an aerial image. | Python, ML |
| uuidulid | ULID and UUIDv7 for Java, plus the glue to use them as REST identifiers (Jackson, Spring, JPA). Zero dependencies, Java 8+. | Java |
| voltaris-demos | Demo recordings of Voltaris, a native iOS app for photovoltaic planning built for electrical contractors. | Swift, CoreML |
Open an issue on one of the repos, or start a discussion there — that's where I'm most responsive. If one of these projects saved you an afternoon, a star helps the next person find it.


