Case studies

The problem, the architecture, the flow, and the decisions behind it.

Anonymised, composite case studies from the kinds of engagements I lead across healthcare, fintech, SaaS, e-commerce and AI. No logos and no confidential numbers: just how each system was designed, how the data flows, and why.

39in-depth case studies
38use cases
6practice areas
243technologies in play
In depth

Full case studies, with architecture and flow diagrams.

39 in-depth
Case study · Recruitment technology · South Korea

High-impact by design: running AI candidate screening under South Korea's AI Basic Act

A South Korean recruitment platform used AI to match candidates to roles and summarise applications for employers. Under the AI Basic Act, AI used in hiring sits in the high-impact category. The goal was to keep the efficiency while making every AI-assisted step transparent, overseen by people and evidenced.

Matching and ranking modelsLLM summariesEvaluation set with fairness checksReviewer workbenchDecision logRead the case study →
Case study · Managed IT services · United Kingdom

Ready before it is law: preparing a UK managed service provider for the Cyber Security and Resilience Bill

A mid-sized UK managed service provider held administrator access to hundreds of customer environments. The Cyber Security and Resilience Bill would bring providers like it under the NIS regulations for the first time. The goal was to get ahead of it: control privileged access centrally, detect and report incidents quickly, and tell affected customers promptly.

Central identity providerJust-in-time privileged accessSession recordingSecurity event pipelineIncident case managementRead the case study →
Case study · Manufacturing · European Union

Access by design: building an EU Data Act-ready data platform for a maker of connected equipment

A European manufacturer of connected heating and ventilation equipment collected rich product data, but only its own service teams could use it. The EU Data Act turned that into an obligation: users must be able to access the data their products generate and share it with others. The goal was to build that into the product platform rather than bolt on a support process.

Device telemetry over OTLPOpenTelemetry Collector gatewaysEvent streamingProduct data catalogueUser data access APIRead the case study →
Case study · Insurance · Australia

When the model is a material service provider: AI resilience for an Australian insurer under CPS 230

An Australian general insurer had put AI into claims intake, customer service and fraud review, mostly through one hosted model provider. Nobody had asked what happens when that provider is slow, out of capacity or gone. Under APRA's CPS 230 that is a board-level question, and the goal was a credible answer.

Model gatewayTwo hosted model providersPrivate model fallbackKubernetes inference routingRules-based degraded modeRead the case study →
Case study · Travel · Singapore & Southeast Asia

When the customer is an agent: making a Southeast Asian travel marketplace ready for AI assistants

A regional travel marketplace saw consumer AI agents arrive in its home market, able to compare, basket and book on a person's behalf. Its site was built for humans and scrapers. The goal was to give agents a fast, safe and honest way in, without breaking the experience for everyone else.

Structured product dataAgent booking APIMCP serverKubernetes Gateway APIIdempotent booking serviceRead the case study →
Case study · Consumer lending · India

Consent that actually propagates: preparing an Indian digital lender for the DPDP Rules

An Indian digital lender collected consent in its app but could not say, for any one customer, which partners held their data, for what purpose, or whether a withdrawal had reached them. With the DPDP Rules phasing in, the goal was a consent and data-rights platform that turns legal obligations into events every system honours.

Consent ledgerPurpose and data catalogueEvent streaming (Kafka)Policy enforcement at APIsRetention and erasure jobsRead the case study →
Case study · Insurance · United States

From emergency patch to modern platform: securing a legacy PHP estate without a big-bang rewrite

A US specialty insurer ran its agent portal, quoting tools and dozens of marketing sites on PHP, some of it years out of support. When an actively exploited PHP flaw landed, nobody could say quickly where PHP was running. The goal was to close that exposure in days, then turn a one-off scramble into a platform that stays patched.

PHP 8.x (supported releases)Apache HTTP ServerContainer golden imagesWeb application firewallOpenTelemetryRead the case study →
Case study · Financial services · Security operations

An AI copilot for the security operations centre that analysts trust

A security operations team faced more alerts than analysts, from tools that each spoke their own data format. Leadership wanted AI to help. Analysts wanted it not to invent things or take actions on its own. The goal was a copilot that speeds up triage and investigation while every response stays a human decision.

OCSF event schemaSIEM and data lakeMITRE ATT&CK mappingLLM with tool callingRetrieval over runbooksRead the case study →
Case study · Utilities · UAE

One knowledge base, two languages: a bilingual Arabic and English assistant for UAE customers

A UAE utility's customers asked the same questions in Gulf Arabic, Modern Standard Arabic, English and a mix of all three. Its knowledge lived in policies written in one language or the other. The goal was an assistant that answers in the customer's language, from the right source, with a citation, and keeps personal data in the country.

Multilingual embeddingsHybrid searchArabic text normalisationArabic-capable LLMRetrieval-augmented generationRead the case study →
Case study · Fintech · UAE

Building a fintech platform for UAE Open Finance: consent, security and a single hub

A UAE fintech had built its product on screen scraping and one-off bank integrations. The Central Bank's Open Finance framework offered a regulated, standardised alternative through a central API hub. The goal was to re-platform around consent and secure APIs without stalling the product roadmap.

Open Finance API hubOAuth 2.0 and OpenID ConnectFAPI 2.0 security profileConsent serviceEvent busRead the case study →
Case study · Technology · Multi-cloud enterprise

Taming a multi-cloud Terraform estate: modules, state, secrets and a paved road

Years of acquisitions and team autonomy had left infrastructure across three clouds, described by hundreds of Terraform folders with copied modules, giant state files and secrets in plaintext. Changes were slow and frightening. The goal was an estate that teams could change quickly and safely, without a central bottleneck.

Terraform or OpenTofuAWSAzureGCPModule registryRead the case study →
Case study · Software · AI products

One AI governance programme that answers buyers in the EU, US and UAE

An AI software company was losing weeks in every enterprise deal to security and AI questionnaires, each asking for the same things in different words. Regulation was moving in three markets at once. The goal was one governance programme whose evidence could be reused for every buyer, auditor and regulator.

AI system inventoryISO/IEC 42001NIST AI RMFSOC 2Evaluation suiteRead the case study →
Case study · Life sciences · Biotech

One governed clinical trial data platform, from site data to submission datasets

A growing biotech ran several trials through different vendors: an EDC system, central labs, eCOA, wearables and imaging. Each study rebuilt its data pipelines from scratch, and the path from raw data to submission datasets lived in programmers' heads. The goal was one platform with lineage, quality and audit trails built in.

EDC and vendor feedsCDISC SDTMControlled terminologyData lakehouseLineage catalogueRead the case study →
Case study · Life sciences · Drug safety

From spreadsheets to an auditable pharmacovigilance signal platform

A drug safety team tracked potential signals across spreadsheets, email and slide decks. Each evaluation meant a bespoke data request and weeks of analysis. The goal was one platform that detects candidate signals, keeps the reasoning auditable and lets the team test them quickly against real-world data.

Safety database extractsMedDRA-coded eventsDisproportionality analysisOMOP CDMOHDSI HADESRead the case study →
Case study · Software · B2B SaaS

Shipping AI features with evidence: a shared evaluation and observability platform

Several product teams had shipped AI features, each with its own prompts, its own vendor calls and its own idea of 'good'. Model upgrades were risky, regressions were found by customers, and nobody could say what an AI feature cost to run. The goal was one platform for evaluating, releasing and observing every LLM feature.

OpenTelemetry GenAI conventionsOTel CollectorEvaluation harnessLLM-as-judgePrompt registryRead the case study →
Case study · Technology · Scale-up

Making Kubernetes spend visible, owned and controllable, without slowing teams down

Cloud bills were growing faster than the business, and nobody could say which team or product drove the increase. The goal was a platform where every workload has an owner, a cost, sensible defaults and a cheap way to shrink, so cost becomes a product decision rather than a quarterly panic.

KubernetesOpenCostFOCUS billing dataHorizontalPodAutoscalerVertical Pod AutoscalerRead the case study →
Case study · Enterprise · Software and services

From MCP servers on laptops to a governed enterprise agent platform

Engineers had connected assistants to dozens of MCP servers, some internal, some from the internet, most with broad tokens. Security wanted to stop it; product teams wanted more of it. The goal was a platform that made the approved path the easiest one.

Model Context ProtocolPrivate MCP registryOAuth 2.1Identity providerMCP gatewayRead the case study →
Case study · Insurance · Multi-line carrier

AI-assisted claims triage that adjusters trust and regulators can audit

Claims arrive as phone notes, emails, photos and PDFs. Triage decides which adjuster sees what, how fast, and with which flags. The goal was to use AI to do that first pass well, without letting a model decide anyone's claim, and with a governance programme ready for state regulators.

Document AIStructured outputsRules engineGraph featuresEvent busRead the case study →
Case study · Startups · B2B software

Giving a fast-moving seed team the technical leadership investors expect at Series A

Founders shipping quickly, customers arriving, and a Series A process ahead. Architecture decisions lived in chat threads, security questionnaires were piling up and nobody owned hiring for senior engineers. The goal was technical leadership that fitted the stage: enough structure to scale and pass scrutiny, without slowing the team down.

Architecture decision recordsDORA metricsSLOsSOC 2 readinessCI/CDRead the case study →
Case study · Private equity · AI software target

Testing whether an AI company's technology is what the deck says it is

An investor was close to committing to a company whose value rested on its AI. The questions were simple to state and hard to answer: is the AI really theirs, do they have the rights to the data behind it, will it scale at a sensible cost, and can this team keep building it?

Data room reviewArchitecture reviewCode reviewModel and data provenanceCloud cost modelRead the case study →
Case study · Telecom · Digital and IT services

From many monitoring tools to one view of what customers experience

Many monitoring tools, each owned by a different team, and incidents still reported by customers before anyone inside noticed. The goal was one telemetry pipeline, service-level objectives tied to customer journeys, and alerts that fire because users are affected rather than because a server is busy.

OpenTelemetry SDKsOBI (eBPF)OpenTelemetry CollectorOTLPPrometheusRead the case study →
Case study · Real estate · Property operator

Automating lease, ID and invoice intake without letting a model write to the ledger

Leases, identity documents and supplier invoices arrived as scans, photos and PDFs, and every one was keyed in by hand before a tenant could be onboarded or a bill paid. The goal was to automate the routine documents and make the rest faster to check, while keeping the core system's data trustworthy.

Vision LLMStructured outputsJSON SchemaRules engineWorkflow engineRead the case study →
Case study · Media · Broadcast and publishing archive

Making a decades-old media archive findable with model enrichment and a controlled vocabulary

A large archive of video, audio and photographs, catalogued under decades of changing conventions, with most items described by little more than a title and a date. The goal was consistent, searchable metadata at archive scale, without letting a model invent the catalogue.

Batch LLM inferenceSpeech-to-textSKOS concept schemeDCMI Metadata TermsSentence embeddingsRead the case study →
Case study · Education · Digital learning

Building an AI tutor that teaches the syllabus instead of doing the homework

Generic chatbots gave students answers that ignored the syllabus, skipped the reasoning and pitched the language at the wrong age. The goal was a tutor grounded in the curriculum, that guides with hints rather than handing over answers, stays safe for young learners and shows teachers where students are stuck.

LLMRetrieval over curriculum contentVector and keyword searchPrompt cachingInput and output guardrailsRead the case study →
Case study · Legal · In-house and advisory

Helping lawyers review contracts against the playbook without giving up the final word

Every incoming contract was compared to the playbook by hand, clause by clause, under deadline. The goal was not to replace that judgement but to prepare it: extract the clauses, compare them to the playbook, and propose cited redlines a lawyer accepts, edits or rejects.

LLM with structured outputsJSON SchemaLong-context modelsRetrieval over playbook and precedentsDocument parsingRead the case study →
Case study · Manufacturing · Multi-plant

Joining quality, production and supplier data so defects surface earlier

Quality data in one system, production data in each plant's own stack, supplier data in spreadsheets and portals. Defects were found late because nobody could join the three. The goal was an open lakehouse fed by contracted data from every plant, with quality metrics everyone agreed on.

Apache IcebergSparkChange data captureOpen Data Contract StandardREST catalogRead the case study →
Case study · Energy · Asset-intensive operations

Connecting maintenance history, sensors and drawings so engineers can find root causes faster

Maintenance history in one system, sensor data in another, drawings and procedures in a document store. Every root-cause investigation started with an engineer stitching them together by hand. The goal was one asset knowledge graph that linked them, with an assistant that answers questions and shows its working.

RDF / OWL ontologySHACLW3C SOSA/SSNGraph databaseTime series storeRead the case study →
Case study · Government · UAE

Giving government teams generative AI without sending a byte out of the country

Teams across a UAE government entity wanted generative AI for drafting, summarising and search. Public chatbots were off the table because the data could not leave national infrastructure. The goal was a shared, in-country LLM service with one front door, redaction, routing and evaluation built in.

vLLMOpen-weight LLMsGPU clusterKubernetesAI gatewayRead the case study →
Case study · SaaS · B2B platform

Re-architecting a SaaS platform so one tenant can't slow down the rest

A few heavy tenants could degrade the service for everyone, and enterprise buyers were asking for isolation guarantees the platform could not evidence. The goal was tiered tenancy: pooled by default, dedicated where it is worth paying for, with per-tenant limits and isolation proven by tests rather than asserted in a questionnaire.

MongoDBKubernetesGateway APIResourceQuotasOpenTelemetryRead the case study →
Case study · Logistics · Freight and fulfilment

Triaging shipment exceptions with agents that ask before they act

Every delayed shipment produced emails: carriers, customers, warehouses, customs brokers. Staff read, classified and chased each one by hand. The goal was agents that classify exceptions, look up shipment state through governed tools and draft the next action, with a person approving anything that changes the world.

LangGraphModel Context ProtocolStructured outputsMessage queuesTMS APIsRead the case study →
Case study · Retail · Stores, web and marketplaces

Replacing nightly stock syncs with a live inventory stream

Stock moved all day in stores, warehouses and online, but channels learned about it once a night. Overselling was the predictable result. The goal was to stream every committed stock and order change from the operational databases into projections that every channel could read in near real time.

DebeziumApache KafkaKafka ConnectTransactional outboxStream processingRead the case study →
Case study · E-commerce · Multi-supplier marketplace

Fixing product search and AI shopping by fixing what the catalogue means

Supplier feeds arrived with their own categories, attribute names and units. Search filters broke, facets contradicted each other and an AI shopping assistant gave confident answers from messy data. The fix was a governed product ontology that every catalogue load is mapped to and validated against.

SKOSOWL 2SHACLRDF triple storeschema.orgRead the case study →
Case study · Banking · Retail and corporate onboarding

Giving KYC analysts cited answers from policy, without giving up control

Onboarding analysts were searching hundreds of policy pages and past case notes for every decision. The goal was an assistant that answers from approved sources only, shows its citations, respects who is allowed to see what, and is measured against questions compliance has signed off.

Hybrid searchVector indexRAGRe-rankingSSO and entitlementsRead the case study →
Case study · Payments · Platform

Scaling a payments platform past a million transactions a day without double charges

As volume grew, retries and timeouts started producing duplicate charges and a growing manual reconciliation queue. The goal was a payment path that was safe to retry at every step, published events reliably, and reconciled itself, sized for more than a million transactions a day.

PostgresIdempotency-Key headerTransactional outboxDebeziumKafkaRead the case study →
Case study · Fintech · Digital payments and lending

Finding coordinated fraud rings with entity resolution and a knowledge graph

Fraud rules scored one transaction or one account at a time, while organised fraud spread across many accounts sharing devices, addresses and payees. The goal was to resolve those shared entities, connect them in a graph, and give risk models and investigators the network view the rules were missing.

KafkaSplink-style probabilistic matchingGraph databaseConnected componentsFeature storeRead the case study →
Case study · Life sciences · Pharmaceutical

Building a reproducible real-world evidence network across external data partners

A pharmaceutical evidence team licensed data from several partners and started every study with a new data pull and months of cleaning. The goal was a study pipeline that ran the same pre-specified design at every partner, measured its own bias, and could be re-run exactly when a regulator asked.

OMOP CDMOHDSI HADESStrategusCohortMethodATLASRead the case study →
Case study · Health insurance · Payer

Putting FHIR prior authorisation APIs in front of a payer's legacy claims systems

Prior authorisation ran on fax, phone and portals, and a federal rule had set dates for API-based exchange. The goal was standards-based FHIR APIs that providers could call, wrapped around claims and utilisation management systems that could not be replaced in time.

FHIR R4Da Vinci CRDDa Vinci DTRDa Vinci PASCDS HooksRead the case study →
Case study · Healthcare · Provider group

Getting an ambient AI scribe through security review and into the EHR

Clinicians were finishing notes in the evening, and every AI scribe pilot had stalled in security review. The goal was a private ambient documentation pipeline that drafted notes for clinician sign-off, ran on infrastructure the organisation controlled, and could prove what happened to every recording.

SMART on FHIRFHIR R4 DocumentReferenceWhisper-class ASRvLLMPrivate GPU nodesRead the case study →
Case study · Healthcare · Hospital network

Turning a hospital network's EHR data into a governed real-world evidence platform

Several hospitals, several EHR configurations, and a research team waiting months for every dataset. The goal was one standardised, quality-checked research platform on OMOP, fed from FHIR, that could answer questions locally and join federated studies without moving patient data.

FHIR R4Bulk Data exportOMOP CDM v5.4OHDSI vocabulariesData Quality DashboardRead the case study →
Use cases

38 problems across 38 sectors, one way of working.

Typical use cases I design and build for: the problem, the approach, the flow and the stack. Pick your sector, then book a call to talk through yours.

38 use cases
01Healthcare

Ambient clinical documentation

Problem. Clinicians spend evenings on notes; AI scribe pilots stall in security review.

Approach. Private speech and LLM pipeline that drafts notes into the EHR for clinician sign-off, with SMART on FHIR scopes and full audit.

  1. Consented audio
  2. Transcribe on private GPUs
  3. Draft note with sources
  4. Clinician approves into EHR
SMART on FHIRWhisper-class ASRvLLMAudit log
Read the full case study →
02Health insurance

Prior authorisation APIs

Problem. Faxes and portals slow approvals while new interoperability rules set API deadlines.

Approach. FHIR prior authorisation and coverage APIs in front of existing claims systems, with decision tracking and metrics reporting.

  1. Provider request via FHIR
  2. Rules and documentation check
  3. Reviewer queue for edge cases
  4. Decision and reason returned
FHIR R4Da Vinci PASEvent busRules engine
Read the full case study →
03Life sciences

Real-world evidence studies

Problem. Each study needs a new data pull and months of cleaning before the first result.

Approach. OMOP-standardised data with reusable cohort definitions and study packages that run across data partners.

  1. Source data to OMOP
  2. Quality checks
  3. Shared cohort definitions
  4. Federated study results
OMOP CDMOHDSI HADESATLASSpark
Read the full case study →
04Fintech

Fraud rings on a knowledge graph

Problem. Row-by-row fraud rules miss coordinated accounts sharing devices, addresses and payees.

Approach. Entity resolution into a graph of customers, devices and payments, with graph features feeding risk scoring and investigator tools.

  1. Stream transactions
  2. Resolve entities
  3. Graph features and scores
  4. Investigator review
KafkaGraph databaseEntity resolutionFeature store
Read the full case study →
05Payments

1M+ transactions a day without double charges

Problem. Retries and timeouts cause duplicate payments and manual reconciliation as volume grows.

Approach. Idempotent APIs, an outbox pattern and event-driven reconciliation sized for more than a million transactions a day.

  1. Idempotency key at the edge
  2. Single write plus outbox
  3. Events to ledger
  4. Automated reconciliation
PostgresOutboxKafkaKubernetes
Read the full case study →
06Banking

KYC and policy assistant

Problem. Analysts search hundreds of policy pages and past cases for every onboarding decision.

Approach. Retrieval over approved policy and case notes with citations, permission-aware access and an evaluation set signed off by compliance.

  1. Analyst question
  2. Permission-filtered retrieval
  3. Cited answer
  4. Feedback into evals
Hybrid searchRAGEvalsSSO
Read the full case study →
07E-commerce

Product ontology for search and AI

Problem. Inconsistent categories and attributes make search, filters and AI shopping assistants unreliable.

Approach. A product taxonomy in SKOS with a small OWL core, synonyms for search, and validation on every catalogue load.

  1. Supplier feeds
  2. Map to taxonomy
  3. Validate with SHACL
  4. Search and assistant
SKOSOWLSHACLVector search
Read the full case study →
08Retail

Real-time inventory and orders

Problem. Nightly batch syncs oversell stock across stores and online channels.

Approach. Change data capture from operational databases into an event stream that keeps inventory views current everywhere.

  1. Database changes
  2. CDC to event stream
  3. Inventory projections
  4. Channels read live stock
DebeziumKafkaStream processingRedis
Read the full case study →
09Logistics

Exception-handling agents

Problem. Delayed shipments generate thousands of emails that staff triage by hand.

Approach. Agents that classify exceptions, look up shipment state through governed tools and draft actions for approval.

  1. Exception email
  2. Classify and extract
  3. Tool calls to TMS
  4. Human-approved action
LangGraphMCPStructured outputsQueues
Read the full case study →
10SaaS

Multi-tenant platform re-architecture

Problem. Noisy tenants slow everyone down and enterprise buyers ask for isolation guarantees.

Approach. Tiered tenancy with pooled and dedicated options, per-tenant limits, and data isolation proven in tests.

  1. Tenant routing
  2. Pooled or dedicated tier
  3. Per-tenant quotas
  4. Isolation evidence
MongoDBKubernetesGateway APIOpenTelemetry
Read the full case study →
11Government (UAE)

Sovereign private LLM service

Problem. Teams want generative AI but data cannot leave national infrastructure.

Approach. In-country model serving with an AI gateway, PII redaction, routing and evaluation, aligned to UAE data rules.

  1. User request
  2. Gateway: auth and redaction
  3. In-country model
  4. Logged, evaluated response
vLLMGPU clusterAI gatewayUAE PDPL
Read the full case study →
12Energy

Asset knowledge graph

Problem. Maintenance history, sensor data and drawings live in separate systems, so root causes take weeks.

Approach. A graph linking assets, components, work orders and sensor streams, with natural-language questions over it.

  1. Asset registers and sensors
  2. Link into asset graph
  3. Graph queries and alerts
  4. Engineer assistant
Knowledge graphTime seriesGraphRAGIceberg
Read the full case study →
13Manufacturing

Quality data lakehouse

Problem. Quality, production and supplier data cannot be joined, so defects are found late.

Approach. An open-table-format lakehouse with data contracts from each plant and governed metrics for quality.

  1. Plant systems
  2. Contracted ingestion
  3. Iceberg tables
  4. Quality metrics and alerts
Apache IcebergData contractsSparkSemantic layer
Read the full case study →
15Education

Curriculum-grounded tutor

Problem. Generic chatbots give answers that don't match the syllabus or age group.

Approach. A tutor grounded in the curriculum with safety filters, guided hints instead of answers, and teacher dashboards.

  1. Student question
  2. Curriculum retrieval
  3. Guided hint
  4. Teacher insight
RAGPrompt cachingGuardrailsAnalytics
Read the full case study →
16Media

Archive metadata enrichment

Problem. Decades of content are hard to find because metadata is sparse and inconsistent.

Approach. Batch enrichment with models into a controlled vocabulary, human review queues and searchable embeddings.

  1. Archive items
  2. Model enrichment
  3. Map to vocabulary
  4. Search and reuse
Batch inferenceSKOSEmbeddingsReview queue
Read the full case study →
17Real estate

Document intake automation

Problem. Leases, IDs and invoices are keyed in by hand, slowing onboarding.

Approach. Extraction to validated schemas with confidence thresholds and exception queues, feeding the core system.

  1. Document upload
  2. Extract to schema
  3. Validate and score
  4. Auto-post or review
Vision LLMStructured outputsWorkflow enginePostgres
Read the full case study →
18Telecom

Unified observability and SLOs

Problem. Many monitoring tools, no shared view, and incidents found by customers first.

Approach. OpenTelemetry end to end with a collector gateway, service-level objectives and burn-rate alerting.

  1. Services and eBPF
  2. Collector gateway
  3. Traces, metrics, logs
  4. SLO alerts
OpenTelemetryOBIPrometheusSLOs
Read the full case study →
19Private equity

Technical due diligence on an AI company

Problem. Investors need to know whether the AI, the data rights and the team are what the deck says.

Approach. A structured review of architecture, model and data provenance, security, costs and team, with a risk-rated report.

  1. Data room and interviews
  2. Architecture and code review
  3. AI and data rights check
  4. Risk-rated report
Code reviewCost modelAI governanceSecurity review
Read the full case study →
20Startups

Fractional CTO for a seed to Series A team

Problem. Founders are shipping fast but architecture, hiring and security are falling behind investor expectations.

Approach. A part-time CTO who sets the technical roadmap, decision records, delivery metrics and the first senior hires.

  1. Assess the stack
  2. Roadmap and ADRs
  3. Delivery and SLOs
  4. Hire and hand off
ADRsDORA metricsSOC 2Hiring plan
Read the full case study →
21Insurance

AI-assisted claims triage

Problem. Manual first-pass triage leaves simple claims queued behind complex ones and depends on who reads the file.

Approach. Schema-validated extraction, cited summaries and explainable signals that suggest routing for adjusters to accept or override, under a written AI programme.

  1. First notice of loss
  2. Extract and summarise
  3. Rules and fraud signals
  4. Adjuster decides
Structured outputsRules engineGraph featuresAudit log
Read the full case study →
22Enterprise IT

Governed MCP agent platform

Problem. Assistants connect to unreviewed MCP servers with broad personal tokens and no audit trail.

Approach. A private MCP registry, a gateway tied to the identity provider, progressive scopes and audit for every tool call.

  1. Discover in registry
  2. Authorise via SSO
  3. Gateway checks policy
  4. Audited tool call
MCPPrivate registryOAuth 2.1OpenTelemetry
Read the full case study →
23Technology

Kubernetes FinOps and a paved road

Problem. Cloud spend grows faster than the business and nobody can say which team or product drives it.

Approach. Enforced ownership labels, workload cost allocation joined to FOCUS billing, in-place right-sizing and queue-driven scale to zero in service templates.

  1. Deploy from template
  2. Allocate cost per workload
  3. Report per team and product
  4. Right-size automatically
KubernetesOpenCostFOCUSVPA and HPA
Read the full case study →
24B2B SaaS

LLM evaluation and observability platform

Problem. Many AI features, no shared definition of good, and model upgrades that break things customers notice first.

Approach. Owned evaluation sets as CI release gates, a model gateway, OpenTelemetry GenAI tracing and cost and quality per feature.

  1. Change prompt or model
  2. Run eval gate
  3. Flagged rollout
  4. Trace and compare
OpenTelemetry GenAIEval harnessModel gatewayFeature flags
Read the full case study →
25Drug safety

Pharmacovigilance signal platform

Problem. Potential safety signals tracked in spreadsheets, with slow bespoke evaluations and no audit trail.

Approach. One tracked record per signal, scheduled screening of reports, physician validation and real-world data evaluation on OMOP with negative controls.

  1. Screen reports
  2. Physician validates
  3. Evaluate on OMOP
  4. Record decision
Signal trackerDisproportionalityOMOP CDMOHDSI HADES
Read the full case study →
26Biotech

Clinical trial data platform

Problem. Each study rebuilds vendor pipelines, and the path from raw data to submission datasets is undocumented.

Approach. An immutable raw zone, versioned SDTM mappings in a shared library, checks on every load and lineage with audit trails designed for validation.

  1. Vendor transfer
  2. Validate and map to SDTM
  3. Data review in study
  4. Traceable submission datasets
CDISC SDTMLineage catalogueValidation rulesAudit trail
Read the full case study →
27AI software

One AI governance programme for three markets

Problem. Every enterprise deal stalls on AI and security questionnaires while EU, US and Gulf rules keep moving.

Approach. One AI inventory, a unified control set mapped to the EU AI Act, ISO 42001, NIST AI RMF and SOC 2, and evidence generated by delivery pipelines.

  1. Register AI feature
  2. Classify risk and role
  3. Gate with evals
  4. Answer from evidence
ISO 42001NIST AI RMFSOC 2Evidence store
Read the full case study →
28Multi-cloud enterprise

Taming a multi-cloud Terraform estate

Problem. Copied modules, giant state files and secrets in state across three clouds make every change slow and risky.

Approach. Composed provider-specific modules, state split by blast radius, secrets kept out of state, and pipeline-only applies with policy checks.

  1. Change from template
  2. Plan per stack
  3. Policy check
  4. Pipeline apply
Terraform or OpenTofuModule registryPolicy as codeSecrets manager
Read the full case study →
29Fintech (UAE)

Re-platforming onto UAE Open Finance

Problem. Screen scraping and one-off bank integrations break often and fail security reviews.

Approach. A consent service at the core, a FAPI-grade connector to the Central Bank's API hub, isolated tokens and data minimised at ingestion.

  1. Customer consents
  2. Token in vault
  3. Fetch via API hub
  4. Minimise and expire
Open Finance API hubFAPI 2.0Consent serviceEvent bus
Read the full case study →
30Utilities (UAE)

Arabic and English knowledge assistant

Problem. Customers write in Gulf Arabic, MSA, English and mixed text, while policies exist in only one language.

Approach. One bilingual index with multilingual embeddings, Arabic normalisation, answers in the customer's language with citations, and in-country hosting.

  1. Detect language
  2. Normalise and redact
  3. Retrieve across languages
  4. Answer with citation
Multilingual embeddingsHybrid searchArabic-capable LLMPII redaction
Read the full case study →
31Security operations

An AI copilot that triages security alerts without acting alone

Problem. Too many alerts across tools with different data formats, and analysts wary of AI that invents findings or acts on its own.

Approach. Normalise events to OCSF, add ATT&CK and runbook context, and let a read-only copilot draft cited triage summaries and propose actions for analyst approval.

  1. Ingest and normalise
  2. Enrich with context
  3. Cited triage summary
  4. Analyst-approved action
OCSFMITRE ATT&CKLLM with toolsSOAR
Read the full case study →
32Insurance · United States

Securing and modernising a legacy PHP estate

Problem. An actively exploited PHP flaw, and nobody could say quickly where PHP was running or which versions were out of support.

Approach. Build a live runtime inventory, contain and patch through golden images, trace legacy apps before changing them, then migrate route by route behind a facade.

  1. Discover runtimes
  2. Contain and patch
  3. Trace before change
  4. Migrate route by route
PHP 8.xOpenTelemetryKubernetesWAF
Read the full case study →
34Travel · Southeast Asia

Making a marketplace ready for AI agents

Problem. Consumer AI agents started shopping and booking for people, but the marketplace was built for humans and scrapers.

Approach. Machine-readable inventory and prices, an agent API and MCP tools, hold-and-approve idempotent booking, and separate routing and limits for agent traffic.

  1. Structured inventory
  2. Agent API and tools
  3. Hold and approve
  4. Isolated routing
MCPGateway APIIdempotent bookingOpenTelemetry
Read the full case study →
35Insurance · Australia

AI provider resilience under CPS 230

Problem. Critical claims and service processes depended on one hosted model provider with no tested alternative.

Approach. Map AI uses to critical operations, put a gateway in front of every model call, add a second provider and a private model, and rehearse failover and exit with live traffic.

  1. Map critical operations
  2. Model gateway
  3. Diversify providers
  4. Rehearse exit
Model gatewayPrivate modelGateway APIOpenTelemetry
Read the full case study →
36Manufacturing · European Union

A Data Act-ready platform for connected products

Problem. Product data was used only internally, but the EU Data Act requires users to access it and share it with others.

Approach. Scalable OTLP ingestion, a readable data catalogue, raw data separated from derived models, and self-service access and sharing with consent.

  1. Ingest product data
  2. Catalogue it
  3. Self-service access
  4. Consented sharing
OpenTelemetryEvent streamingLakehouseTerraform
Read the full case study →
37Managed IT services · United Kingdom

Getting an MSP ready for the Cyber Security and Resilience Bill

Problem. Technicians held standing admin access to hundreds of customer environments, and incidents could not be traced quickly to affected customers.

Approach. One identity provider for people and automation, just-in-time recorded access, an incident pipeline with reporting timelines, and a customer impact map for notification.

  1. Inventory access
  2. Centralise identity
  3. Detect and report
  4. Notify customers
Identity providerPrivileged access brokerEvent pipelineNCSC CAF
Read the full case study →
38Recruitment · South Korea

High-impact AI in hiring under Korea's AI Basic Act

Problem. AI matched and summarised candidates, but nobody could show which steps used AI, how they were tested or how a candidate could challenge them.

Approach. An AI inventory, GenAI tracing as the evidence store, an evaluation gate with group checks, and a reviewer workbench where people make every adverse decision.

  1. Inventory AI uses
  2. Trace every step
  3. Human decision
  4. Evaluate and assure
OpenTelemetry GenAIModel registryReviewer workbenchEvaluation gate
Read the full case study →
Engagement snapshots

Five problems I'm regularly brought in to solve.

Short form: the challenge, the approach, the architecture and the result, one tab each.

Enterprise · Knowledge & AI

One shared meaning for the whole business, ready for AI

A multi-division organisation where every system had its own idea of a customer, product and contract.

RolePrincipal architect
EngagementBuild & hand-off
FocusOntology
CRMcustomersERPordersDocumentscontractsOntology + knowledge graphBI & metricsone definitionAPIssemantic layerAI agentsGraphRAG
Architecture · simplified
The challenge

Reports never reconciled, and the first AI assistant confidently gave the wrong answers.

Approach
  1. Domain workshops with business owners to capture concepts, relationships and rules
  2. Formal ontology and controlled vocabularies, versioned and reviewed like code
  3. Entity resolution mapping CRM, ERP and documents into a knowledge graph
  4. A semantic layer serving BI, APIs and GraphRAG-based agents from the same model
Results
  • Metrics that reconcile across divisions
  • AI answers that cite the graph and respect permissions
  • New data sources onboarded by mapping, not rebuilding
  • A model the business owns and evolves
OWL / RDFSPARQLNeo4jEntity resolutionLangGraphGraphRAGPython

Client names, figures and specifics are withheld under confidentiality. Detailed references available on request.

How engagements run

From first call to hand-off.

Step 1Free 30-minute call
  • Your goals and constraints
  • Whether I'm the right fit
Step 2Review
  • Architecture and data review
  • Risks and quick wins
  • Written recommendation
Step 3Build or lead
  • Hands-on build, or
  • Fractional CTO leadership
Step 4Hand-off
  • Runbooks and decision records
  • Your team owns it
Every engagement starts with the problem, not a proposal.
Open to advisory, fractional CTO & select builds

Let's talk about what you're building.

The fastest route is a free 30-minute call. Prefer to write? Send a message and I'll reply personally within two business days.

Start a conversation

How would you like to reach me?

Book a 30-min callFastest. Pick any open slot on my calendar.→ Write in GmailOpens a pre-filled draft in your browser.→ Use my email appOutlook, Apple Mail or your default client.→

I reply personally within two business days. Time zones from the Americas and Europe to the Middle East and Asia-Pacific.