cartoon cover for: Dev Notes

📝 Dev Notes

Running notes on things I’ve hit, fixed, or found worth remembering.

The ATS job poller workflow in n8n: schedule and manual triggers feeding config, fetch & normalize, filter, dedup, per-job LLM scoring via NVIDIA, then digest, email, and mark-seen

🎯 Know the Market Without Job-Hunting: An LLM-Scored Job Poller in n8n

You don’t have to be job-hunting to want to know your market — what’s out there, what it pays, where you’d fit. So I built an n8n workflow: it polls the public ATS APIs (Greenhouse/Lever/Ashby) plus a broad remote-jobs feed, filters for remote-EU infra roles, scores each posting against my CV with an LLM, and emails me only the 80%+ matches. No database, no scraping.

cartoon cover for: Five Ways to Manage Kubernetes Manifests (and Why They're Not All Equal)

📦 Five Ways to Manage Kubernetes Manifests (and Why They're Not All Equal)

Raw YAML, Kustomize, Helm, Jsonnet — there’s more than one way to describe what you want running in a cluster. Here’s what each actually looks like in practice and where each one breaks.

cartoon cover for: Don't Restart the Node. Quarantine It First.

🚨 Don't Restart the Node. Quarantine It First.

Rebooting a misbehaving node feels productive. It isn’t. You’re erasing your evidence and skipping the lesson.

cartoon cover for: My Homelab Runs on GitOps. Here's What That Actually Means.

🏗️ My Homelab Runs on GitOps. Here's What That Actually Means.

I wanted to learn production-grade Kubernetes patterns without breaking production. One node, a full GitOps stack, and a hard rule: no manual kubectl after bootstrap.

cartoon cover for: I Inherited a System With No Map. So I Drew Two.

I Inherited a System With No Map. So I Drew Two.

How I turned a tribal-knowledge handover into a two-track learning roadmap — one track for the technology, one for our system, designed to interleave.