Skip to content

Selected work

Five client engagements, with numbers. Clients are abstracted where confidentiality requires; the metrics are as delivered. Each one carries the disagreement it had to survive, because that is usually what decided whether it shipped.

  1. ~1.5B+ req/month

    A major Dutch grocery retailer

    Cloud Gateway — federated cross-cloud API platform

    20+ fragmented gateways unified into one self-service platform across AWS and Azure.

    The disagreement

    Nobody wanted to give up a gateway they controlled for a dependency on a central team, and no one had the authority to order a migration.

    • AWS API Gateway
    • Azure APIM
    • Terraform
    • OAuth2/OIDC
    • Datadog
  2. 3 estates, 1 contract

    A major Dutch grocery retailer · current, 2026

    SAP event backbone — three estates, one contract

    Three platform teams, three estates, one event contract nobody owned before.

    The disagreement

    Three teams with three definitions of the boundary, and every question that mattered sat in the gap between them.

    • SAP Advanced Event Mesh
    • AMQP 1.0
    • S/4HANA
    • AWS Lambda
    • Terraform
  3. 12 interfaces, 1 runtime

    A major Dutch grocery retailer

    Integration platform — one runtime, twelve interfaces

    A new interface became a config change instead of a codebase, and the platform team stopped being the queue.

    The disagreement

    A shared runtime asks domain teams to give up code they control, and concentrates the blast radius on a platform team that did not previously carry it.

    • AWS Lambda
    • SNS/SQS
    • S3
    • DynamoDB
    • Terraform
    • JSONata
    • Datadog
  4. ~30+ company codes

    A global manufacturing client (DACH region)

    SAP S/4HANA Finance → Snowflake

    A legacy SAP Finance estate turned into a cloud-native analytics backbone.

    The disagreement

    Finance already had a ledger it trusted, and the contract at the handover moved work onto a SAP team that had no obligations toward analytics before.

    • AWS EMR
    • AWS Glue
    • PySpark
    • Snowflake
    • Terraform
  5. 20+ data products

    A major UK telecom operator

    Kafka data-product platform on Cloudera

    Streaming data productised across domains, with governed schemas.

    The disagreement

    Productising a stream means the producing domain accepts consumers it never asked for, plus a schema promise and an SLA.

    • Apache Kafka
    • Cloudera CDP
    • Schema Registry
    • Hive LLAP
    • Spark 3

These are the engagements I can describe accurately and defend under questioning, including what each one cost the teams it landed on. Self-built demos live on the portfolio, labelled as demos.