Archive
Posts
Writing about software I build — architecture, the tricky parts, and what I learned. 12 posts so far.
2026
- Oct 24 LLM Gateway, Part 1: The goroutine leak hiding in every naive streaming proxyA streaming proxy in Go that cleans up when the client leaves. One context for the whole request, an idle timer for a silent provider, and pprof to prove that 1,000 canceled streams leave nothing behind.
- Oct 10 Distributed Systems, Part 2: Replication by handBuilding single-leader replication with Express, Redis and Nginx, one step at a time: shared state, replication offsets, read-your-writes, resync, and a manual failover that loses an acknowledged write.
- Oct 09 Distributed Systems, Part 1: ReplicationKeeping copies of the same data on several nodes. Leaders and followers, sync and async, failover, replication lag, multi-leader and leaderless designs, and quorums, each with a step-through animation.
- Sep 12 Understanding Kubernetes — Part 8Argo CD: what it is, installing it on DigitalOcean with the 1-Click app, and wiring up a pipeline where pushing code triggers GitHub Actions, which builds an image and commits the new tag to a deployment repo that Argo CD syncs to the cluster.
- Aug 26 Understanding Kubernetes — Part 7Resource requests and limits, what a CPU number actually buys you, the metrics-server, and handing the replica count over to a Horizontal Pod Autoscaler.
- Aug 15 Understanding Kubernetes — Part 6Storage that outlives the pod: why container filesystems vanish, how PersistentVolumes and PersistentVolumeClaims split the job in two, an NFS server run with Docker Compose on EC2, and dynamic provisioning with DigitalOcean block storage.
- Aug 09 Understanding Kubernetes — Part 5ConfigMaps and Secrets: pull configuration out of your image, inject it as environment variables or mounted files, and understand exactly why a Secret is not private.
- Aug 01 Understanding Kubernetes — Part 4Ingress and ingress controllers: put many services behind a single load balancer, install nginx ingress on a real cluster, and route traffic by domain and path.
- Jul 14 Understanding Kubernetes — Part 3Services, hands-on in the cloud: expose pods with NodePort, put a real load balancer in front with LoadBalancer, and keep your database internal with ClusterIP.
- Jul 06 Understanding Kubernetes — Part 2Hands-on with pods, ReplicaSets, and Deployments: spin up a local multi-node cluster with Kind, create your first pod, and learn why you'll almost always write Deployments.
- Jul 01 Understanding Kubernetes — Part 1A plain-English starting point for Kubernetes: what a cluster actually is, what lives inside the master node, and what happens on the worker nodes where your apps run.
- Jun 27 Anatomy of an PR review agent on LangGraph.jsA node-by-node walkthrough of a GitHub PR review agent built as a LangGraph.js StateGraph — the shared state, every node's job, the parallel fan-out, the human gate, and the CLI that drives it all.