Principal DevOps Engineer · Platform Engineering · AI
Infrastructure should build itself.
I build platforms that manage themselves and write about what AI actually changes in DevOps.
- Self-operating platforms with GitOps and automation
- AI in DevOps, from pipeline generation to deployment triage
- Platform engineering, cloud infra, and the tools I actually use
- Everything built in public, homelab to production

Projects
MoE Sovereign
Self-hosted multi-model AI orchestrator with deterministic expert routing. Queries go to the right specialist model through templates, not guesswork — inference runs on your own hardware, nothing reaches cloud APIs. Contributed as idea partner and co-architect.
- Template routing assigns each task to a specialist model deterministically — no probabilistic fallback, no surprise API costs
- Dual-tier model system: fast models screen and triage, heavy models go deep — VRAM-aware scheduling across inference nodes
- Neo4j GraphRAG with trust-scoring keeps domain knowledge coherent across long query chains
K3s Homelab Cluster
LIVEKubernetes on a Raspberry Pi 5 cluster, managed entirely through FluxCD. Automated TLS with cert-manager, network segmented via Ubiquiti VLANs.
- Push to main, FluxCD reconciles within 60 seconds. No manual deploys.
- TLS certificates rotate automatically through Let's Encrypt and cert-manager
- Separate VLANs for IoT, lab, and management traffic
GitOps Platform Engine
ACTIVEEvery feature branch gets its own isolated environment via Azure DevOps Pipelines. Environments spin up on push and tear down on merge.
- Branch-based environments with automatic provisioning and teardown
- Azure Workload Identity federation, so zero credentials live in pipelines
- Helm chart templating with per-environment value overlays
AI Pipeline Orchestrator
ACTIVEClaude Code generates pipeline configs, reviews Helm charts, and triages deployment failures. An automation layer for the repetitive parts of infrastructure work.
- Pipeline YAML generated with org-specific conventions baked in
- Helm chart review that catches misconfigs before they reach staging
- Deployment failure triage with fix suggestions pulled from build logs
Portfolio Website
LIVEThis site. SvelteKit with static adapter, mdsvex for the blog, Tailwind v4 for styling. Fully prerendered, deployed to Cloudflare Pages.
Writing
View all →Infrastructure testing — why your Terraform plan is not a test
Terraform plan tells you what will change. It doesn't tell you if the change is correct. Real infrastructure testing requires real assertions.
Azure DevOps Pipelines — the parts they don't document
The official docs cover the happy path. Here's what I learned from the edge cases: conditional stages, variable group scoping, and service connection gotchas.
The CI/CD pipeline nobody maintains — why pipeline-as-code needs ownership
Pipeline YAML is code. It has bugs, tech debt, and dependencies. But nobody owns it, so it rots in place until something breaks at 2 AM.
Got a project in mind?
I'm always up for a good conversation about platforms, automation, or DevOps. Book a call.
Book a call