Module 11 · ai · intermediate
AI Job Scout
After this module you can pull jobs from several boards, filter them by keywords, and have AI score each one against your profile, with a pitch line to open your application.
What it does
Every 4 hours (or on demand via GET /webhook/jobs/scout) the workflow fetches remote jobs from RemoteOK (JSON API) and We Work Remotely (RSS), normalizes both into one shape, keeps jobs matching your keywords, and takes the newest N. OpenAI (gpt-5-mini) scores each against your profile (0–100) with fit reasons, red flags and a pitch angle. Good fits become a report for the API or an alert.
Query parameters: keywords (comma-separated), min_score (default 60), limit (default 10, max 25), dry_run=true (skip AI).
Why not Upwork? Upwork no longer offers public RSS job feeds, and its API requires an approved app. The pattern here works for any board with an API or RSS feed; swap sources in the Business tier.
Flow
Every 4 Hours ─┐ ┌→ Fetch RemoteOK → Normalize RemoteOK ─┐
Scout API ─────┴→ Settings (profile) ──┤ ├→ All Jobs → Matches Keywords → Newest First → Top N → Dry Run?
└→ Fetch WWR (RSS) → Normalize WWR ─────┘
Dry Run? ─true─→ Collect Matches → Respond Matches
└false→ Score Job (OpenAI) → Scored Job → Good Fit Only → Collect → Build Report → Called via API? → Respond / Send Alert
Verification status
- Fetching, normalizing, merging, keyword filtering, sorting and limiting (
dry_run=true): tested on n8n 2.43.6 against live boards (7/7 checks). - AI scoring: needs an OpenAI credential.
WITH_CREDS=1 ./test/test.shscores 5 jobs.
Files
| File | Tier | Purpose |
|---|---|---|
| lesson.md | Free | Step-by-step build |
| workflow/starter.json | Free | Triggers, settings and both fetches |
| workflow/learner.json | Learner | Finished workflow |
| workflow/business.json | Business | Business workflow (see setup guide) |
| setup-guide.md | Business | Credentials + configuration |
| exercises.md | Learner | Practice tasks |
| solutions.md | Learner | Exercise solutions |
| notes.md | Private | Learning log |
| sell/ | Private | Offer, video script, blog post |