A local platform from zero
Set up language runtimes with version managers, run real Kubernetes clusters locally with Minikube, attach the IDE debugger to a JVM inside a pod, and wire logs, metrics, and traces across services with one correlation ID.
- 01note Tooling
Dev environment from scratch: managing Java, Python, and Node versions on Mac
SDKMAN, pyenv, and nvm manage Java, Python, and Node versions on a Mac, with per-project pin files that switch the runtime automatically on cd.
- 02note Infrastructure
Working with Kubernetes locally: Minikube, multiple clusters, and k9s
Iterating against a remote Kubernetes cluster means a build-push-deploy cycle on every change. Minikube gives us real clusters on our machine, several of them, where the full deployment path can be tested without consequences.
- 03note Infrastructure
Remote debugging Java on Kubernetes: attaching the IDE to the JVM inside the pod
When a bug only appears inside the cluster, adding log statements and redeploying quickly turns into a slow feedback loop. Remote debugging lets you attach your IDE directly to the JVM running inside the pod and inspect the real execution path.
- 04essay Infrastructure
Observability in a hybrid microservices stack: Spring Boot, FastAPI, and LangChain on Kubernetes
In distributed systems, a single request can cross multiple services and runtimes. When something breaks, we need to easily reconstruct the flow of that request through logs, metrics, and traces, instead of manually navigating unrelated application logs with no correlation.
- ✓path complete