How I run infrastructure.
Modern platform work is where most of my focus goes. Kubernetes on Talos with Omni, GitOps from GitHub or Azure DevOps, observability with Grafana and Victoria metrics & logs, and a Claude Code plugin I built with custom skills and agents that handle the work I would otherwise do by hand, like reading logs and analysing metrics when an alert fires. Predictable, well-documented, and easy to operate.
The Homelab
A place to test ideas outside of work. Running Linux servers, Docker containers, IoT monitoring, and various integrations. What works here often ends up informing decisions at work.
Each module represents an area of expertise. Hover to identify, click to explore.
Infrastructure Philosophy
I want infrastructure to be predictable, secure, and well-documented. When it works, nobody notices. When something breaks, it should be obvious what happened and how to fix it.
I don't separate ops from engineering. The best results come from understanding the full picture: architecture, implementation, operations, and the business context around it.
Every environment I work with gets the same approach: proper baselines, clear documentation, sensible automation, and governance that doesn't slow people down.
Operational Principles
Security-First
I try to build with security in mind from the start, across identities, devices, and networks. That includes least-privilege access and controls such as Conditional Access where appropriate.
Automate
I like to automate recurring work through YAML pipelines, PowerShell, Python, Azure DevOps, and Octopus Deploy. If something keeps coming back, it is usually worth standardizing and simplifying.
Own the Platform
I prefer modern, maintainable platforms and keeping operational responsibility close to the team. Running key parts of the stack ourselves, with tools like Talos and Omni where it makes sense, often leads to better consistency and fewer compromises.
Governance by Default
It is usually better to have policies and guardrails in place early rather than adding them later. Good governance tends to make environments easier to manage in the long run.
Documentation
Documentation matters because it helps knowledge stay available over time. Runbooks, architecture diagrams, and clear documentation make it easier to support and improve systems. AI tools can also help with drafting and keeping documentation up to date.
Observation
I prefer systems to be visible and measurable, whether through Grafana, Prometheus, Victoria logs or if its something else. If something is important enough to run, it is important enough to monitor.
AI as an Engineering Tool
I use Claude Code, Codex, LLMs, agents, and skills for code, architecture design, documentation, and automation. Not as a replacement for thinking, but as a way to move faster on things I already understand.
- AI pair-programming with Claude Code/Codex.
- Architecture documentation and decision analysis
- Code review and quality checks
- Operational automation and scripting