Architecture katas.

Practice exercises, kept apart from my production projects. Each starts from a brief with hard constraints and ends in a full design: diagrams, component rationale and open questions.

These are design studies, not delivered systems. The figures in them are design assumptions, not measurements.

Reliable data

Data that can be shown to be complete, consistent and traceable.

  1. Featured

    Cold-Chain Telemetry and Compliance Platform

    20,000 refrigerated vehicles, 72-hour offline gaps, and GDP reports that an auditor can verify instead of having to trust.

    • EMQX
    • Apache Kafka
    • Apache Flink
    • ClickHouse
    • Apache Iceberg
    • Ceph

    Sector

    Pharmaceutical logistics

  2. Featured

    Open Lakehouse with Data Contracts and a Shared Semantic Layer

    Six brands keep their query engines, shared data is written once as an open table, guarded by a contract in CI and one metric definition.

    • Apache Iceberg
    • Apache Polaris
    • Trino
    • OpenMetadata
    • Open Policy Agent
    • Apache Airflow

    Sector

    E-commerce group

  3. Regional Health Information Exchange

    Eight EHR systems into one FHIR record per patient, reversible patient matching, consent on every read, ten-year audit trail.

    • Apache Camel
    • Apache Kafka
    • HAPI FHIR
    • PostgreSQL
    • Splink
    • Open Policy Agent

    Sector

    Healthcare

  4. Enterprise Data Warehouse Migration to BigQuery

    Move a 60 TB SQL Server warehouse and 1,900 ETL packages to BigQuery in 12 months, wave by wave, with every table reconciled.

    • BigQuery
    • Dataform
    • Debezium
    • Apache Kafka
    • Cloud Composer
    • Cloud Storage

    Sector

    Retail data platform

Reliable data: projects, katas and publications

Decisions

One answer to one question, within a latency or cost budget.

  1. K—05

    Decisions

    Real-Time Fraud Decisioning for Instant Payments

    Score every instant payment for fraud in 150 ms, keep each decision reproducible for seven years, touch the mainframe only through MQ.

    • Apache Kafka
    • Apache Flink
    • Valkey
    • Drools
    • ONNX Runtime
    • Quarkus

    Sector

    Banking

  2. K—06

    Decisions

    BSS Modernisation and Real-Time Customer 360

    Build a Customer 360 from change events of 14 systems without touching the mainframe, then retire billing by cohort over five years.

    • Debezium
    • Apache Kafka
    • Apache Flink
    • PostgreSQL
    • OpenSearch
    • Temporal

    Sector

    Telecommunications

  3. K—07

    Decisions

    Unified Marketing Intelligence on Google Cloud

    One certified metric layer over a GA4 stream, four batch sources and the warehouse, so dashboards, an LLM and agents quote one number.

    • BigQuery
    • Dataform
    • Pub/Sub
    • Cloud Composer
    • Cloud Run
    • Vertex AI

    Sector

    E-commerce marketing

  4. K—08

    Decisions

    Competitor Price and Markdown Intelligence Platform

    Collect competitor pages within legal limits, match them to 120,000 SKUs with measured precision, advise on markdown timing with evidence.

    • Cloud Run
    • Playwright
    • Cloud Storage
    • Pub/Sub
    • BigQuery
    • Dataform

    Sector

    Retail pricing

Decisions: projects, katas and publications

AI & GenAI

Models recommend under governance; rules and people decide.

  1. Featured

    Governed GenAI Data Agents with LLM Evaluation

    Three enterprise agents limited to certified metrics, contracted data and permitted documents, with traced answers and gated releases.

    • LangGraph
    • LiteLLM
    • vLLM
    • OpenMetadata
    • Open Policy Agent
    • PostgreSQL

    Sector

    Enterprise analytics and AI governance

  2. Claims Intake with Document Intelligence

    Self-hosted models recommend, rules and adjusters decide, eight GPUs sit behind a queue, every decision is auditable for seven years.

    • Apache Camel
    • Apache Kafka
    • PaddleOCR
    • vLLM
    • Flowable
    • Drools

    Sector

    Insurance

AI & GenAI: projects, katas and publications

Facing a design problem like these?