Skip to main content
~/platform

I build the paved road: self-service infrastructure and the guardrails that let teams ship fast without shipping holes.

Work

Selected Work

Three problems I owned end to end: the constraint, what I changed, and the number it moved.

Terraform Golden Paths on GCP

Provisioning 4 h → 45 min

Every new service environment was a four-hour ticket: someone hand-clicked Cloud Run, Cloud SQL, a bucket and six IAM bindings, and got it subtly wrong about a third of the time. I modularised the GCP estate around one opinionated golden path per service shape, put the guardrails in the module instead of in a wiki, and gated every plan behind automated policy checks. A team now provisions its own environment in under 45 minutes without opening a ticket, and the drift that used to surface in production surfaces in terraform plan.

TerraformGCPCloud RunIAMGitOps

Agentic Runbooks with a Human-Approval Gate

Response time −60%

Known failure classes were eating on-call time not because the fix was hard, but because assembling the context (logs, Terraform state, recent deploys) took twenty minutes at 3 a.m. I built an MCP server that does the gathering and proposes a remediation, and then stops. A human approves or rejects every state-changing action, each one is logged with the reasoning that produced it, and each one is reversible. The agent is allowed to be wrong; it is not allowed to be wrong unsupervised.

GoMCPGCPTerraformOn-Call

Ephemeral Per-User Sandboxes on AWS

80+ envs, spend −50%

80+ trainees each needed a production-like n8n environment, and a fixed t3.medium per person was both wasteful and, at cohort scale, expensive. The workloads are bursty by nature: idle for hours, then a spike. So I put them on burstable instances sized for the median rather than the peak, and wrote lifecycle automation that stops and reclaims anything idle past a threshold. Everyone gets a real isolated environment; compute costs about half of the fixed-size equivalent.

AWSEC2Terraformn8nCost

Also: a security pipeline gating SAST and DAST in GitHub Actions, two SaaS products, and a set of smaller projects. all of it is documented.

Stack

What I run

Grouped by where they sit in the delivery path. Everything here I've run in production, not just evaluated.

Cloud & Platform

GCPCloud RunCloud SQLAWS EC2TerraformAnsible

DevSecOps & CI/CD

GitHub ActionsArgo CDBanditTrivySemgrepOWASP ZAP

Observability

PrometheusGrafanaOpenTelemetrySLOsStructured Logging

Development

GoPythonDjangoTypeScriptReactNext.js

Talk shop

I'm up for comparing notes on platform work: golden paths, approval gates on agents, what your rollback criteria actually are.

mail@pascal-nehlsen.de