Automation, Observability, and Machine Learning
Software and infrastructure engineering
I build with Golang, Python, and Bash, and I reach for the right automation layer for the job — configuration management, containers, Terraform, CI/CD pipelines, and Kubernetes when the problem warrants it. The through-line is the same: make systems easier to run, easier to understand, and harder to break accidentally.
What that looks like in practice
On the infrastructure side, that has meant custom exporters and dashboards, queue-based processing pipelines, DNS and edge configuration as code, and internal services that remove manual steps from on-call and deployment workflows. I care about metrics that reflect real user pain, alerts that deserve a human’s attention, and runbooks that match how incidents actually unfold.
ML learner
I’m actively growing in MLOps — not as a separate hobby, but as an extension of the same platform and reliability mindset. Training, tracking, serving, monitoring drift, and closing the loop between production data and model behavior are problems platform and ML teams both feel. My homelab portfolio projects (serving pipelines, drift detection, self-healing clusters) are where I practice those ideas at production-like fidelity without risking someone else’s uptime.
Tools I work with often
Prometheus, Grafana, Loki, Docker, Ansible, Terraform, Kubernetes, HAProxy, ElasticSearch/OpenSearch, Cloudflare, GitLab and Azure DevOps pipelines, and Linux environments across Red Hat–family and enterprise Windows where the job requires it.
What I optimize for
Less manual effort, fewer false alarms, faster incident response, and infrastructure that teams can change confidently. If a script, service, or pipeline saves hours every month and makes behavior more consistent, that’s the work I want to keep doing.