I get to the bottom of a problem and solve it where it belongs. At Douglas that took me from the React frontend of the POS software into the CRM backend, where I designed one unified API so business logic no longer had to be duplicated across several frontends.
Available · 2–5 days/week · Munich and remote DACH · German and English
Where I tend to help
Architecture modernisation · Delivery reliability · Governed AI workflows
Martin Trenker
Technical Lead and Solutions Architect
What drives me
Improving digital systems and products, and with them the daily lives of the people who work with and use them. That starts with understanding their problems and finding the best way to solve them. I picked that up early: as a teenager I rented my first server and helped people with web development on IRC.
Three recent projects: one CRM API instead of business logic duplicated across frontends, a Next.js platform handed over from an agency to a new in-house team during active delivery, and an AngularJS workflow rebuilt in React on an explicit state machine.
Counts and periods from the project records are marked as measured facts. What I observed but did not measure is marked as an observation.
React Expert → Technical Lead → Solutions Architect
Douglas GmbH
Jan 2024 – Jul 2026
Mandate
Modernise the POS/CRM platform from its React frontend to backend services in TypeScript/Node.js and C#/.NET, unify the CRM API landscape, and introduce governed AI tooling.
Role progression
01
React Expert
Joined to modernise the POS software used in more than 1,200 stores across 14 European countries.
02
Technical Lead
Led the move from legacy Angular to maintainable React and shipped the business-critical CRM integration in under a year.
03
Solutions Architect
Took on broader scope across TypeScript/Node.js and C#/.NET backend services to unify the CRM API landscape and introduce governed AI tooling for daily delivery work.
Why a separate C#/.NET API
Extending the existing NestJS/TypeScript API was one of a few options. Internally, though, there was a move towards C# on the backend, because it was the best understood and supported setup. The existing API was also not built from the ground up for the resilience and scaling the unified API required; adding another controller to it would have meant shoehorning those requirements in. I continued to maintain the production TypeScript API.
Outcomes and evidence
Measured fact
software runs on every cash register in more than 1,200 stores across 14 European countries
Measured fact
rewrote the CRM/POS integration in under a year with clearer architecture, more test coverage, and updated documentation
Unmeasured observation
moved from after-hours deployment windows toward safer deployments during business hours through better error handling, observability, and recovery paths
Unmeasured observation
built an in-house shortlink and QR service in Next.js + .NET in weeks, from request to production, replacing a third-party SaaS that no longer met business needs
Personal ownership
+extended the solution into C#/.NET and personally designed and shipped the unified API, applying architecture patterns across stacks and using AI tooling as part of a reviewable engineering workflow
+replaced static code-level tenant configuration with dynamic runtime config served by the API — config changes no longer require a release
+developed and maintained a production CRM backend in TypeScript/Node.js with NestJS and Express, covering API endpoints, configuration, and external service integrations
+built a Node.js/TypeScript agent CLI giving AI agents governed access to Jira, Confluence, Azure DevOps, and internal tooling, with human review of all output
Team delivery and contribution
+onboarded 1 senior and 2 junior developers; all productive contributors within weeks
+introduced "Full Stack Fridays", team-driven learning sessions covering Figma prototyping, GraphQL, C#/.NET, and more
Solutions Architect
Oetker Digital GmbH
Sept 2022 – May 2023
Situation
A Next.js platform was moving from an external agency to a newly formed in-house team while active delivery continued.
Mandate
Audit the codebase, consolidate two products, and establish the new team without stopping ongoing product work.
Personal ownership
+audited the codebase and improved quality across the stack: Next.js, TypeScript, GraphQL, Apollo, Cypress, Storybook, Tailwind
+consolidated two separate web products into a single codebase without disrupting active development
Outcomes and evidence
Unmeasured observation
consolidated two separate web products into a single codebase without disrupting active development
Team delivery and contribution
+onboarded four new hires in parallel while keeping delivery on track
+introduced lightweight agile practices that the team adopted
Technical Architect
Fielmann AG
Mar 2021 – Dec 2021
Situation
An AngularJS optometry workflow for in-store staff had accumulated complex, ad-hoc state logic.
Mandate
Rebuild the workflow in TypeScript and React with an explicit state-machine architecture and transfer the knowledge into the team.
Personal ownership
+state-machine driven multi-step form architecture built to make changes safer
+custom on-screen keyboards tailored to in-store workflows
Outcomes and evidence
Unmeasured observation
state-machine driven multi-step form architecture built to make changes safer
Team delivery and contribution
+daily pair-programming as the main knowledge transfer strategy
Current hands-on systems
what runs / what I own / why it matters
Products, tooling and the platform they run on, which I build, operate and pay for myself. Here I own every layer: data model, application code, deployment, observability and recovery.
EU-sovereign Kubernetes platform
since 2025
After five years of running my own projects serverless on AWS (CDK, Lambda, Cognito), I migrated everything in 2025 to a self-operated Kubernetes platform on European infrastructure — and have run it in production since.
What I own
I provision the cluster and own deployment, observability, data services, secrets, upgrades, and recovery.
Client relevance
Direct operating experience with GitOps, Kubernetes, and production observability informs architecture and delivery decisions for client systems.
Operational responsibility
Five production applications run on the platform with PostgreSQL pooling, alerts, dashboards, logs, and metrics.
+Terraform-provisioned cluster on Hetzner with Cilium CNI
+GitOps deployments via ArgoCD; secrets encrypted in Git with Sealed Secrets
A production side project in continuous development since 2020. From 2020 to 2025 it ran serverless on AWS using CDK, Node.js Lambdas, AppSync, Cognito, EventBridge, and a single-table DynamoDB model.
What I own
I owned the full AWS architecture, infrastructure as code, data model, application code, and self-mutating deployment pipeline.
Client relevance
Hands-on production experience with serverless APIs, SQS/SNS messaging between services, S3 static asset hosting via CloudFront, and DynamoDB access patterns.
Operational responsibility
Operated on AWS for five years, then migrated to a self-operated Kubernetes platform in 2025; continuously developed in production since 2020.
The workflow behind my daily AI usage: a custom MCP server, skills and extensions for coding agents, and deterministic tooling around AI output — built and used daily, not demoed.
What I own
I build and maintain the MCP server, agent skills, extensions, and deterministic checks around generated work.
Client relevance
The system makes AI-assisted delivery bounded, inspectable, and reviewable instead of treating model output as an unchecked result.
Operational responsibility
Used in daily engineering work with human review before changes are accepted.
Reviewable workflow example
Reviewable example: issue-scoped agent → isolated worktree → deterministic test and build gates → human-reviewed pull request.
typescriptmcpai-agentsnode.js
Project timeline
real engagements, newest first
Douglas GmbHSolutions ArchitectContract extended with broader scope across the CRM backend landscape. Extended the existing production TypeScript/Node.js API built with NestJS and Express, designed and shipped a unified C#/.NET API (REST + GraphQL), and introduced governed AI tooling for daily delivery work.
Douglas GmbHTechnical LeadEngaged as React expert to modernise the POS software used in more than 1,200 Douglas stores across 14 European countries. Led the transition from a legacy Angular implementation to a maintainable React architecture and shipped the business-critical CRM integration in under a year.
Oetker Digital GmbHSolutions ArchitectManaged the handover of a Next.js platform from an external agency to a newly formed in-house team, audited the codebase, merged two products, and got the team up to speed.
UXMA GmbH & Co. KGTechnical LeadLed a three-person team building a data-heavy internal web app in TypeScript and React, with a strong focus on mentoring two junior developers.
Fielmann AGTechnical ArchitectRewrote a complex AngularJS optometry workflow app in TypeScript/React, replacing ad-hoc state logic with XState-driven form architecture for in-store staff.
Interhyp AGEngineering ConsultantBuilt a real-time communication micro-frontend handling VoIP calls between customers and mortgage advisors, using React, Redux Toolkit and WebRTC.
ProSiebenSat.1 Digital GmbHFrontend EngineerBuilt and maintained React components powering high-traffic show websites for ProSieben and Sat.1 formats, with GraphQL APIs and analytics tracking throughout.
InstaMotion Retail GmbHFrontend EngineerBuilt a React + GraphQL web magazine for Germany's largest online car dealer, connected to a headless CMS.
Fineway AGFrontend EngineerBuilt components for an online travel magazine using React, TypeScript and GraphQL, backed by Contentful as a headless CMS.
Lufthansa AGFrontend EngineerDeveloped React components for Lufthansa's digital touchpoints, integrated into Adobe Experience Manager.
AvailabilityAvailable · 2–5 days/week · Munich and remote DACH · German and English
If this sounds close to what your team needs, let’s discuss the project.
Send a short note about the team, the transformation pressure, and what breaks between intent and execution. If I can help, I will. If not, I will say so honestly.
I improve digital systems and products for the people who work with and use them. I get to the bottom of a problem and solve it where it belongs, in the React frontend or the API, data model and platform behind it. At Douglas that took me from React Expert on the POS software to Solutions Architect for the CRM backend.
“Martin helped us establish a modern, reliable way of working that significantly improved both the quality of our development and our day-to-day collaboration. […] Many of the practices and collaborative sessions he introduced have become an integral part of how the team continues to work today.”
Available · 2–5 days/week · Munich and remote DACH · German and English
Selected examples
what I took on / what changed
01
Douglas · client work
One API instead of duplicated logic
Designed a unified CRM API (REST + GraphQL), ending business logic duplicated across multiple frontends
02
Douglas · client work
An in-house service instead of SaaS
Built an in-house shortlink and QR service in Next.js + .NET in weeks, from request to production, replacing a third-party SaaS that no longer met business needs
03
Own systems · self-funded
A production platform I run myself
I provision the cluster and own deployment, observability, data services, secrets, upgrades, and recovery.
Project history
real engagements, newest first
Jan 2024 – Jul 2026
Düsseldorf
Retail
React Expert → Technical Lead → Solutions Architect
Douglas GmbH
Modernise the POS/CRM platform from its React frontend to backend services in TypeScript/Node.js and C#/.NET, unify the CRM API landscape, and introduce governed AI tooling.
Role progression
+01 · React Expert: Joined to modernise the POS software used in more than 1,200 stores across 14 European countries.
+02 · Technical Lead: Led the move from legacy Angular to maintainable React and shipped the business-critical CRM integration in under a year.
+03 · Solutions Architect: Took on broader scope across TypeScript/Node.js and C#/.NET backend services to unify the CRM API landscape and introduce governed AI tooling for daily delivery work.
Why a separate C#/.NET API
+Extending the existing NestJS/TypeScript API was one of a few options. Internally, though, there was a move towards C# on the backend, because it was the best understood and supported setup. The existing API was also not built from the ground up for the resilience and scaling the unified API required; adding another controller to it would have meant shoehorning those requirements in. I continued to maintain the production TypeScript API.
Personal ownership
+extended the solution into C#/.NET and personally designed and shipped the unified API, applying architecture patterns across stacks and using AI tooling as part of a reviewable engineering workflow
+replaced static code-level tenant configuration with dynamic runtime config served by the API — config changes no longer require a release
+developed and maintained a production CRM backend in TypeScript/Node.js with NestJS and Express, covering API endpoints, configuration, and external service integrations
+built a Node.js/TypeScript agent CLI giving AI agents governed access to Jira, Confluence, Azure DevOps, and internal tooling, with human review of all output
Outcomes and evidence
+software runs on every cash register in more than 1,200 stores across 14 European countries
+rewrote the CRM/POS integration in under a year with clearer architecture, more test coverage, and updated documentation
+moved from after-hours deployment windows toward safer deployments during business hours through better error handling, observability, and recovery paths
+built an in-house shortlink and QR service in Next.js + .NET in weeks, from request to production, replacing a third-party SaaS that no longer met business needs
Team delivery and contribution
+onboarded 1 senior and 2 junior developers; all productive contributors within weeks
+introduced "Full Stack Fridays", team-driven learning sessions covering Figma prototyping, GraphQL, C#/.NET, and more
Managed the handover of a Next.js platform from an external agency to a newly formed in-house team, audited the codebase, merged two products, and got the team up to speed.
+audited the codebase and improved quality across the stack: Next.js, TypeScript, GraphQL, Apollo, Cypress, Storybook, Tailwind
+consolidated two separate web products into a single codebase without disrupting active development
+onboarded four new hires in parallel while keeping delivery on track
+introduced lightweight agile practices that the team adopted
Rewrote a complex AngularJS optometry workflow app in TypeScript/React, replacing ad-hoc state logic with XState-driven form architecture for in-store staff.
+daily pair-programming as the main knowledge transfer strategy
+state-machine driven multi-step form architecture built to make changes safer
+custom on-screen keyboards tailored to in-store workflows
react · typescript · xstate · storybook · cypress
2020 – 2021
Munich
Finance
Engineering Consultant
Interhyp AG
Built a real-time communication micro-frontend handling VoIP calls between customers and mortgage advisors, using React, Redux Toolkit and WebRTC.
+took on agile coaching alongside development, reducing sprint friction
+first production WebRTC integration, shipped without third-party SDK
Built and maintained React components powering high-traffic show websites for ProSieben and Sat.1 formats, with GraphQL APIs and analytics tracking throughout.
react · graphql · jest · cypress · storybook · apollo
2019
Munich
Retail
Frontend Engineer
InstaMotion Retail GmbH
Built a React + GraphQL web magazine for Germany's largest online car dealer, connected to a headless CMS.
react · headless-cms · storybook · jest
2018
Munich
Travel
Frontend Engineer
Fineway AG
Built components for an online travel magazine using React, TypeScript and GraphQL, backed by Contentful as a headless CMS.
Owned a full-stack auction platform used for a company-wide annual charity event, covering database schema, backend, and frontend.
laravel · angularjs · mysql · javascript · html · css · php
2010 – 2011
Munich
Gaming
Frontend Developer
Travian Games
Built interactive JS components for a live browser game, with a tight focus on performance and smooth real-time UX.
mootools · javascript · html · css
2009 – 2012
Munich
Consulting
Fullstack Developer
McKinsey & Company
Extended and maintained a global asset management system for McKinsey's IT operations, built on PHP, ExtJS and Oracle DB within a cross-functional agile team.
After five years of running my own projects serverless on AWS (CDK, Lambda, Cognito), I migrated everything in 2025 to a self-operated Kubernetes platform on European infrastructure — and have run it in production since.
+Terraform-provisioned cluster on Hetzner with Cilium CNI
+GitOps deployments via ArgoCD; secrets encrypted in Git with Sealed Secrets
A production side project in continuous development since 2020. From 2020 to 2025 it ran serverless on AWS using CDK, Node.js Lambdas, AppSync, Cognito, EventBridge, and a single-table DynamoDB model.
What I own
+I owned the full AWS architecture, infrastructure as code, data model, application code, and self-mutating deployment pipeline.
Client relevance
+Hands-on production experience with serverless APIs, SQS/SNS messaging between services, S3 static asset hosting via CloudFront, and DynamoDB access patterns.
Operational responsibility
+Operated on AWS for five years, then migrated to a self-operated Kubernetes platform in 2025; continuously developed in production since 2020.
The workflow behind my daily AI usage: a custom MCP server, skills and extensions for coding agents, and deterministic tooling around AI output — built and used daily, not demoed.
What I own
+I build and maintain the MCP server, agent skills, extensions, and deterministic checks around generated work.
Client relevance
+The system makes AI-assisted delivery bounded, inspectable, and reviewable instead of treating model output as an unchecked result.
Operational responsibility
+Used in daily engineering work with human review before changes are accepted.
Reviewable workflow example
+Reviewable example: issue-scoped agent → isolated worktree → deterministic test and build gates → human-reviewed pull request.