Work
The systems in production at South Pole, designed and built by me with the team.
How it fits together
The systems in production, what each one does and what flows between them.

Orca
South Pole's enterprise AI assistant, open to the whole company. Deep research over the web and company data, South Pole-format documents, decks and sales proposals, scheduled runs, memory, and sharing with version history. Eight releases in four months. Within three weeks of 2.0, 131 employees were querying governed data through it; 560,000+ requests served at 99.99% success.
In production since Jun 2026 · AI assistant
How it's built
Next.js on Cloud Run behind Identity-Aware Proxy, Cloud SQL for state. Every BigQuery query runs as the signed-in user, so IAM and policy-tag masking decide what each person sees; no shared service account touches data, and every job is labelled so audit can tell Orca traffic apart. Context comes from the semantic layer over MCP, so answers rest on definitions the business certified. Guardrails decline bulk extracts of whole tables and personal records; eval suites gate each release.

Orca Semantics
A governed semantic layer on self-hosted OpenMetadata: plain-English definitions, certified metric SQL, a glossary and named owners per domain, all version controlled. Orca reads it before answering, the visualisation layer builds on it, and access approvals and quality routing reuse the same ownership model.
In build since Jul 2026 · Semantic layer
How it's built
Chosen over Cube and the dbt Semantic Layer because it is metadata-only: it never proxies queries, so per-user identity, IAM and PII masking stay intact. One Terraform module deploys dev and prod, Google SSO at the door, read-only ingestion from dbt and BigQuery. AI-drafted definitions are seeded in bulk and certified by domain owners in a task queue; uncertified drafts are hints, never truth.

Orca Visuals
The visualisation layer on top of Orca Semantics: dashboards and metrics defined as code against the certified definitions, so a chart and Orca's answer agree. It replaces Power BI, 98 reports and 410 users, and removes ~200k EUR a year in licences.
In build since Aug 2026 · Visualisation
How it's built
Self-hosted Lightdash reading the same semantic definitions Orca does, so the owners named once in the semantic layer govern both. Reports move domain by domain, each one rebuilt against a certified metric and signed off by its owner before the Power BI original is retired.

Data Marts Core
Orchestration for 1,800+ dbt models, migrated from dbt Cloud to self-hosted Dagster on GKE in three weeks. Shadow runs proved the output identical to production before cutover; deploys rebuild the image and roll out without a human step. Avoided a three-year renewal at ~27k EUR a year.
In production since Sep 2026 · Orchestration
How it's built
Dagster mirrors each dbt Cloud job verbatim (selectors, threads, schedules), so any difference is the runner's fault. Evidence compares every relation between shadow and production. Cloud Build rebuilds the image on merge, changed models build on every marts merge, and alerting is episodic (state changes plus a daily summary) with data and infrastructure alerts split. The UI sits behind Identity-Aware Proxy.

Data Foundation Plan
The company data strategy, written, costed and taken to ExCo: seven workstreams to 2028 covering the semantic layer, orchestration, visualisation, the AI platform, data quality at scale, access governance and SLAs. ~295k EUR a year of direct savings, with the dbt Cloud saving already banked before the plan opened.
In production since Aug 2026 · Strategy
How it's built
Owners and stewards are defined once in the semantic layer and reused by access approvals, quality routing and AI context, which is what makes the seven workstreams one ecosystem rather than a list of tools. Each era has exit criteria; SLAs come last, by design, because service levels without coverage and ownership instrumentation are fiction.

Data Access Governance
Self-service data access. A request names the access group and the reason, mails the data owner, and opens a Terraform pull request that grants the group read access, through an org-owned GitHub App. A human still merges. Replaced hand-edited IAM at around ten changes a month and returned 40+ hours a month to the team.
In production since Oct 2026 · Governance
How it's built
Access is granted to groups, never to people. The server re-resolves memberships, so a mail can only claim what the server established. Terraform preconditions fail the plan on an unknown dataset or an overlapping binding, so machine-written grants cannot silently revoke hand-written ones. My design, built by an engineer on my team.

Cost Deep Dive
FinOps across 195 GCP projects and 60 services: spend by app, by service, by day, with P99 anomaly detection that emails me when an app breaks its own baseline. Caught a 6x BigQuery analysis spike in March 2026 and returned it to baseline; marts query spend fell 46% year on year.
In production since Jan 2025 · FinOps
How it's built
Built on the billing export in BigQuery with a view per app, a weekly BigQuery cost job on Data Marts Core, and a Looker Studio front end.

Enterprise Data Platform Migration
Migrated 18,000+ cloud resources from Pulumi to modular Terraform. Standardised IAM, networking, and policy-as-code so five business units now share one platform without stepping on each other. Adopted BI-as-code, DataOps, and FinOps practices alongside the migration, so the platform shipped governed, observable, and within budget from day one.
In production since Mar 2024 · Platform
Earlier
Work that is paused or retired. The ideas carried forward.

Knowsee
A RAG-based AI platform that queries your data warehouse, ingests company knowledge (docs, screenshots, emails) with chunking and metadata that survives real-world inputs, and turns chat prompts into dashboards. SSO and RBAC out of the box; hallucination guardrails and sandboxed tools on by default; eval suites gate every release. Paused in 2026; the ideas went into Orca.
Paused Jan 2024 to Mar 2026 · Side project
Let's talk.
About building AI systems people actually use, leading data teams, or your data and cloud estate.
Also available asresume.pdfresume.jsoncv.mdllms.txtstatus.json