This project is under NDA. Enter the password to view.
Kuehne+Nagel moves cargo across 100+ countries. Every shipment that crosses an international border must be checked against trade regulations — sanctions, embargoes, export controls. Getting it wrong means blocked cargo, fines, or legal liability.
Trade regulations change constantly. KN maintains a living requirements document — currently at version 200 — that defines exactly what operators must check on every shipment.
Operators across Air and Sea run thousands of shipments a day. 99.5% are standard. But that 0.5% — potential defence cases — carries full regulatory exposure if missed or mishandled.
UX at KN operates as a decentralised function — designers are allocated to squads per initiative, not permanently embedded. I was the sole UX on AIR-04 for this work.
Workshop → Research → Four releases.
Before writing a single spec, I facilitated a Feature Canvas workshop with developers, POs, and business analysts — forcing the room to agree on a root cause, a scope, and a solution direction. That board became the shared contract. Everything that shipped traces back to it.
No system guidance. No structured check. When a shipment looks like it might involve a defence customer or sanctioned goods, it falls on whoever is handling it to know what to do. The root cause the team landed on: human error by design.
Naming what's out of scope is as important as naming what's in. The parking lot kept the workshop focused and gave the team permission to move forward without resolving everything.
These 4 mapped exactly to the Business Requirements. The workshop found the scope before the spec existed.
The primary users were operators. The broader map — KAMs, Business Owners — was noted but deliberately deferred.
Workshop → Research → Four releases.
Three sessions. Nine operators. Sea and Air, across three regions. Each session had one question — and each answer left a mark on what shipped.
Operators prefer flag-based control over hard blocks.
AI decision data is invisible to most of the team — visibility is as important as the alert itself.
High-frequency operators already self-verify. The tool needs to support that workflow, not replace it.
Workshop → Research → Four releases.
Four releases across two product areas. Numbers pulled from production — not projections.
The numbers so far.
I've been compressing the product design cycle by integrating AI across eight areas — from spec generation to design system maintenance. Less repetition, more decision-making.
Obsidian vault + AI agents that process meeting notes, extract decisions, and keep project context always current. Every session starts with full context.
Agent pipeline processes tickets, transcripts, and Figma annotations into structured HLS specs. I edit and decide — not write from scratch.
Discuss patterns in plain language. Ask for the case against. Force a recommendation. Decisions and discarded alternatives end up in the decisions log.
Using Claude to generate interactive prototypes for stakeholder validation — including this case study — before committing to full Figma builds.
Encoding tokens, hierarchy rules, and component patterns into a DESIGN.md file the agents read before generating anything. DS compliance from prompt zero.
Generate UI fragments, write them to Figma via the official Figma MCP (write-to-canvas, beta), refine against design-system tokens, ship to dev.
Scan production codebase for tokens, styles, and component APIs; auto-generate a Figma library that mirrors the live product. No more drift.
Agents ingest product analytics, identify friction patterns, and surface actionable feedback into the design vault automatically — without waiting for a research sprint.
This taxonomy of capabilities was articulated by Patrick Kluge Milani at redesignthis.org (2026). The grid above maps which categories my method addresses today.