Files
Job-hunter/config.yaml
T
Harwinder Sekhon 37da3b8940 feat: strict remote-only filtering with positive remote evidence
LinkedIn's f_WT=2 filter is nearly ignored for guest scraping and guest
pages expose no structured workplace-type field, so text filtering is
the only option:

- Require positive remote evidence (title/location/description must say
  remote) before keeping a job; silence now means drop, not keep.
  Configurable via scraper.require_remote_evidence.
- Catch more hybrid/on-site phrasings: "Hybrid: <city>", "office-based",
  "N days onsite/in office", "return to office", titles with
  hybrid/onsite (without tripping on "hybrid cloud").
- Append "Remote" to search keywords when remote_only is on, since
  keyword matching surfaces far more genuinely remote posts than the
  broken filter.

Verified against live LinkedIn postings: three known hybrid/on-site
leaks dropped, known remote post kept.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 15:42:40 -04:00

74 lines
1.9 KiB
YAML

# ============================================================
# JOB MATCHER CONFIG
# ============================================================
# --- Matching Thresholds ---
min_match_score: 70 # Only alert on jobs scoring >= this
max_detail_fetches_per_run: 50 # Limit detail page requests per run
# --- Score Weights (must sum to 1.0) ---
weights:
skills: 0.40
title: 0.25
experience: 0.15
keywords: 0.15
certifications: 0.05
# --- Pre-filter: Skip jobs whose title contains these ---
title_blacklist:
- "marketing"
- "sales"
- "recruiter"
- "accounting"
- "graphic design"
- "product manager"
- "data scientist"
- "frontend developer"
- "ui/ux"
# --- Blacklisted Companies ---
company_blacklist: []
# --- Skills you WANT to learn (boost jobs that need these) ---
aspirational_skills:
- "terraform"
- "kubernetes"
- "docker"
- "ci/cd"
# --- Scraper Settings ---
scraper:
keywords:
- "Network Engineer"
- "Network Analyst"
- "Network Administrator"
- "NOC Engineer"
- "Infrastructure Engineer"
- "Cloud Network Engineer"
- "Systems Engineer"
location: "Canada"
work_types: ["remote"]
remote_only: true # also drop jobs whose location/description reveals hybrid or on-site
# LinkedIn's remote filter is unreliable for logged-out scraping, so on top of
# dropping visible hybrid/on-site jobs, require positive proof of remote
# (title/location/description must say remote). Strict: jobs that never state
# they're remote are dropped. Set false to keep unverified jobs.
require_remote_evidence: true
pages_per_keyword: 3
delay_between_pages: [3, 6]
delay_between_keywords: [5, 10]
delay_between_details: [4, 8]
# --- Database ---
database:
host: "localhost"
user: "root"
password: ""
database: "job_scraper_db"
# --- Telegram ---
# Fill these in with your bot token and chat ID
telegram:
token: "YOUR_BOT_TOKEN_HERE"
chat_id: "YOUR_CHAT_ID_HERE"