Engineer. Builder. Hockey player.
Always Day 1.
Writing
We added LiteLLM as a multi-tenant gateway in front of our local Ollama, so each family member's future Hermes agent — and OpenWebUI — gets its own revocable API key with per-key model allow-lists. Along the way, three things forced us to slow down: a Postgres container that looked alive but wasn't, a base64 password that broke Prisma's URL parser, and a Qwen 3.6 model that wrote 300 tokens of thinking and zero tokens of answer.
A code quality review of the monitoring stack found three critical bugs — including one that had silently broken all Docker log collection since day one. Sometimes the most dangerous failures are the ones that don't make any noise.
The juntgen.com Astro site was the last unversioned snowflake in the homelab — no git history, no IaC, 8 blog posts behind. We moved it into the homelab monorepo and made it deployable with the same command as everything else.
About
I've been writing software and running Linux systems for 26 years. Over that time I've learned that the best engineers never stop being beginners — there's always a harder problem, a better abstraction, a smarter approach. That's what "Always Day 1" means to me.
My homelab is where I learn without limits: Proxmox, Docker, Ansible, Kubernetes, networking, security. When I'm not at a keyboard, I'm on the ice playing hockey or spending time with my family.
This site is where I document the journey — the wins, the failures, and everything in between.