An automated job digest delivered to your inbox every Monday morning.
The agent scans 8 job platforms, filters offers by your criteria (role, location, sector), scores each one from 1 to 10 using Claude AI, and sends you a clean HTML email with only the most relevant opportunities.
Example digest:
- Every Monday at 9am, a GitHub Action triggers the script
- The agent collects offers from 8 sources (Indeed, LinkedIn, Welcome to the Jungle, RemoteOK, Jobicy, Jobspresso, We Work Remotely)
- It filters by role, location, and excluded sectors
- Claude AI scores each offer from 1 to 10 based on your profile
- Only offers scoring ≥ 5/10 appear in the email, sorted best first
- Offers you've already seen are never shown again (30-day memory)
You need three credentials. Each has a free tier that covers personal use.
Anthropic (Claude AI) — for scoring offers
- Go to console.anthropic.com
- Create an account
- Go to API Keys → Create Key
- Copy the key (starts with
sk-ant-...) - Add a small credit ($5 is enough for months of use at ~$0.01/run)
Apify — for scraping Indeed, LinkedIn, WTTJ
- Go to apify.com
- Create an account (free tier includes $5/month)
- Go to Settings → Integrations → API tokens
- Copy your token (starts with
apify_api_...)
Gmail App Password — for sending the email
- Go to myaccount.google.com/apppasswords
- You need 2-step verification enabled on your Google account first
- Create a new App Password (name it "Job Agent")
- Copy the 16-character password shown (e.g.
abcd efgh ijkl mnop)
- Click Fork at the top right of this page
- This creates a copy of the project under your GitHub account
In your forked repo, go to Settings → Secrets and variables → Actions → New repository secret
Add each of these one by one:
| Secret name | Value |
|---|---|
ANTHROPIC_API_KEY |
Your Anthropic key (sk-ant-...) |
APIFY_API_TOKEN |
Your Apify token (apify_api_...) |
SMTP_HOST |
smtp.gmail.com |
SMTP_PORT |
587 |
SMTP_USER |
Your Gmail address |
SMTP_PASS |
Your 16-character App Password |
EMAIL_FROM |
Your Gmail address |
EMAIL_TO |
The email address to receive the digest |
EMAIL_FROMandEMAIL_TOcan be the same address (send to yourself).
Open job_agent.py in your fork (click the file, then the pencil icon to edit).
Find the CONFIG block at the top of the file (~line 29) and edit it to match your profile:
CONFIG = {
# Job titles to look for — add as many as you want
"postes": ["Product Manager", "Data Product Manager"],
# Minimum salary (used by the AI scorer, not a hard filter)
"salaire_min": 45000,
# Sectors to EXCLUDE — offers mentioning these words score ≤ 2/10
"secteurs_nok": ["defense", "gambling", "casino", "crypto", "weapons"],
# Years of experience expected
"experience_min": 3,
"experience_max": 5,
# Tools and keywords that boost the score if mentioned
"stack": ["n8n", "claude", "Notion", "Jira", "SQL", "Airtable"],
"keywords": ["ai agents", "LLM", "automation", "no-code", "impact"],
# Only show offers from the last N days
"max_age_days": 7,
# Maximum number of offers in the email
"top_n": 15,
# Minimum score to appear in the email (1–10)
"score_min": 5,
# Search parameters sent to scraping sources
"apify": {
"query": "product manager", # Main search term
"max_items_per_source": 25, # Offers fetched per source
"indeed_es_location": "Donostia San Sebastian",
"indeed_fr_location": "Bayonne",
"wttj_contract": "CDI",
},
}Geographic filter: The agent keeps only offers that are full remote, or located in the Basque Country (Donostia, Bayonne, Biarritz, etc.). To change this, edit the GEO_LOCAL list further down in the file.
Commit your changes (click Commit changes in GitHub's editor).
Go to Actions → Weekly Job Digest → Run workflow → Run workflow
You'll receive your first digest within a few minutes.
After that, it runs automatically every Monday at 9am (French time).
| Service | Cost per run | Monthly (4 runs) |
|---|---|---|
| Anthropic (Claude) | ~$0.01 | ~$0.04 |
| Apify (scraping) | ~$0.40 | ~$1.60 |
| GitHub Actions | Free | Free |
| Total | ~$0.41 | ~$1.64 |
Both Anthropic and Apify offer free credits that cover several months of personal use.
| Platform | Type | Coverage |
|---|---|---|
| Indeed.es | Apify scraper | Donostia / Spain |
| Indeed.fr | Apify scraper | Basque Country FR |
| Apify scraper | Remote worldwide | |
| Welcome to the Jungle | Apify scraper | Remote + Spain |
| RemoteOK | RSS | Remote worldwide |
| Jobicy | RSS | Remote worldwide |
| Jobspresso | RSS | Remote worldwide |
| We Work Remotely | RSS | Remote worldwide |
- Python 3.9+
- Anthropic Claude API — offer scoring
- Apify — web scraping (Indeed, LinkedIn, WTTJ)
- GitHub Actions — weekly scheduling
- feedparser — RSS parsing
- Gmail SMTP — email delivery