July 2026
I rebuilt my job search pipeline three times in two weeks. Not because the first version was bad. Because the ground shifted under it.
I had a job scraper that ran every morning, searched 8 queries, and sent me the same narrow list of roles. The LLM behind it had full access to my career history — and still kept matching me to jobs I couldn't do and didn't want. The problem wasn't the data. The problem was that the tooling assumed the world was static.
It isn't.
I rebuilt the scraper to intercept LinkedIn's GraphQL API directly. Nineteen search queries instead of eight. Five hundred seventy-nine unique jobs in one run. Then I built a ranking layer — fetch full job descriptions, score each against my CV using a local LLM on a Windows box in my basement.
First attempt: qwen3.5:9b. The model has a "thinking" mode that wraps every response in markdown fences. All thirty jobs scored zero. JSON parsing broke on every single one.
Pivoted to qwen3:8b. Clean output, forty seconds per call. Top match: 95 out of 100.
Then a cover letter generator. Hermes3:8b, twenty-three seconds per letter. Two tracks — tailored letters for strong fits, gap-acknowledged quick shots for long shots. Thirty letters in twelve minutes — 82°C on the GPU — it's been a warm summer.
By the end I had four machines involved. Chrome on one host, LLM inference on another, a file server for cross-machine access, and the dev hub running the pipeline. The whole thing synced through a JSON tracker that broke twice — wrong directory paths, config not loading, host key failures. Fixed each one in minutes because I built it and I know where everything lives.
Here's the thing: the tools evolved faster than the system I was building.
initialize handshake gone. If you built a production MCP server against the old spec, you have migration work to do right now. Ninety-seven million monthly SDK downloads affected.This isn't a project problem. This is the new normal. Every AI initiative you're running right now is being built on a foundation that's moving.
If your twelve-month roadmap assumes the tools you chose in January will still be the right tools in March, you're planning against the wrong constraints. The leaders who navigate this well share a few traits:
They build for iteration, not perfection. My scraper went from "same eight queries every day" to "nineteen queries, five hundred seventy-nine results, LLM-scored" in one build cycle. It wasn't elegant. It worked. And it was better by Thursday.
They operate in the chaos. The LLM I chose broke at noon. I swapped to a different model by lunch. The scraper I built hit a LinkedIn format change mid-run. I updated the interceptor and kept going. This isn't heroics — it's the baseline expectation for anyone leading AI work right now.
They know the ground will shift. MCP going stateless today. New models dropping with government approval. Tools appearing and disappearing between planning meetings. If your strategy doesn't account for that, it's not a strategy. It's a bet.
The most valuable thing I built in the last two weeks wasn't the scraper or the ranking engine. It was the muscle memory to build, break, and rebuild in real time. That's what the market is actually hiring for — even if most job descriptions haven't caught up yet.
Built on a home lab, powered by local models, and owned by Andrew Katana.