The Problem with a Single Origin A static site backed by a single S3 bucket is one IAM misconfiguration, accidental public-access block, or regional AWS incident away from going dark. My site zite...
Multi-Cloud HA Static Site with CloudFront, GCP, and Home Kubernetes
Archiving Google Interests Articles to PDF with Playwright on Kubernetes
Introduction Google Interests (google.com/interests/saved) lets you flag articles from your feed for later. What it does not give you is any way to export, archive, or reliably revisit those saves...
Running an AI Agent Gateway on Kubernetes with OpenClaw
Introduction Managing a homelab cluster used to mean keeping a terminal open. Something is consuming memory on worker2? SSH in, run kubectl top pods, grep through logs. Want to trigger the morning...
Automated Morning Tech Brief with Gemini and Kubernetes CronJobs
Introduction The read-later problem is a trap. You save an article, feel briefly virtuous, and then never open it again. Over the course of a week you accumulate dozens of links from your Google I...
AI Resume Tailoring Pipeline on Kubernetes
Introduction Tailoring a resume for each job posting is one of those tasks that sounds straightforward until you are doing it at volume. Every role has a different emphasis — one wants Terraform a...
Bridging the Gap: Automated PDF Sync to reMarkable Pro
Introduction The reMarkable Paper Pro is a game-changer for digital handwriting, but getting documents onto the device often requires manual dragging-and-dropping. For my monthly PDF planners, whi...
Deep Telemetry for Unifi with Unpoller and Prometheus
Introduction While the Ubiquiti Unifi interface provides a great overview of your network, it lacks the deep, long-term metric retention and granular visualization capabilities of a dedicated moni...
Optimizing Large-Scale ISO Extraction on Kubernetes with Indexed Jobs
The Challenge: The 1Gbps Bottleneck Managing a vast library of retro game archives (PS2, GameCube, etc.) requires efficient extraction. In my setup, both the source compressed archives and the des...
Scaling Long-Lived WebSocket Connections on Kubernetes with KEDA and a Custom Session Dispatcher
Introduction Scaling standard HTTP applications on Kubernetes is a well-understood problem. However, scaling long-lived, stateful connections like WebSockets—especially for resource-intensive appl...
Self-Hosting a Static Site on Kubernetes with ArgoCD and GitHub Actions
Introduction Self-hosting a static site often involves simple S3 buckets or traditional web servers. However, leveraging Kubernetes and GitOps principles provides a robust, scalable, and fully aut...
- Multi-Cloud HA Static Site with CloudFront, GCP, and Home Kubernetes
- Self-Hosting a Static Site on Kubernetes with ArgoCD and GitHub Actions
- Running an AI Agent Gateway on Kubernetes with OpenClaw
- Deploying a GameCube Emulator (Dolphin) on Kubernetes with GitOps
- Architecting Multi-Tenant Cloud Gaming on Kubernetes with KEDA and Gateway API