Focus
Where I spend my time
Most of my work lives below the application layer: orchestration, virtualization, and how machines reach each other.
Kubernetes
Cluster builds, offline deployments, GitOps, and live migrations between distributions.
Virtualization
Proxmox VE, full-disk encryption with LUKS2 and TPM2, and reproducible host provisioning.
Networking
Private relays, mesh VPNs, and SSH access infrastructure for self-hosted environments.
Infrastructure as Code
CI/CD pipelines, declarative homelab manifests, and Go services that automate the boring parts.
Selected work
Things I've built
A few open-source projects that reflect what I care about: small, dependable, and meant to be run for years.
A lightweight, multi-arch container for running your own Tailscale and Headscale DERP relay. Alpine-based, with versions kept in sync with Headscale.
NetworkingTooling for managing WireGuard configuration: keys, peers, and the moving parts of a private mesh, handled from one place.
NetworkingThe declarative manifest behind my homelab: services described as code so the whole stack can be rebuilt from scratch.
HomelabA Go utility around Gentoo's Portage workflow, smoothing the repetitive parts of building and maintaining a source-based system.
ToolingWriting
半瓶斋
Notes from the homelab: implementation guides, post-mortems, and the occasional detour. The name is a reminder from a mentor not to be the half-full bottle that rattles the loudest.
- Proxmox VE 9 full-disk encryption: LUKS2, TPM2, and USB key auto-unlock Virtualization
- Velero migration: from k0s to Kubernetes Kubernetes
- Offline Kubernetes deployment with Kubespray Kubernetes
- Automating Hugo builds and deploys with Gitea in the homelab DevOps
Beyond the keyboard
Beyond the keyboard
I take on freelance work from time to time, and the proceeds go to charity. The code is for hire; the money isn't for me.