I automated a job hunt with Claude Code. Here's the architecture.
A look inside Career Ops — a system that discovers roles, scores them with Claude, and ships a tailored pitch deck per application.

A friend was spending two hours per job application and still sending generic materials. So I built her a system.
Career Ops is a Python pipeline that treats job-hunting like a marketing funnel:
- Discover roles from Indeed, hard-filter on salary, location and seniority.
- Score each one with Claude into hot / warm / cold, synced to a Notion CRM.
- Generate a tailored CV, cover letter and context-aware application answers.
- Differentiate with value-add deliverables — a branded pitch deck and a live landing page per role, deployed to Vercel.
- Review everything in a dashboard. Nothing sends without a human approving it.
Two design choices mattered most:
Human-in-the-loop by default. The system drafts; the person decides. That single rule is what makes it safe to automate something this personal.
Value-add over volume. The point wasn't to spray 100 applications. It was to make each one impossible to ignore — a Schwarzkopf "Frizz Forecast" deck attached to a shopper-marketing application lands very differently than another PDF CV.
The result: application time from ~2 hours to ~10 minutes, with far stronger materials. The same pattern — discover, score, generate, review — works for sales outreach, content ops, and plenty else. That's the fun of building with Claude Code: the architecture is portable.