Automated tracker for Nordic AI / infra hiring signals. Scrapes ~40 startup career pages daily, classifies new roles via GPT-4o-mini, and emails a weekly digest every Monday.
scrape.py -> data/snapshots/YYYY-MM-DD.json (all jobs today)
diff.py -> data/diffs/YYYY-MM-DD.json (added / removed vs yesterday)
classify.py -> data/classified/YYYY-MM-DD.json (added jobs + ML/infra tags)
notify.py -> Resend email (Monday digest, last 7 days)
GitHub Actions runs pipeline.py every day at 06:00 UTC and notify.py only on Mondays. Snapshots are committed back to the repo so the next day's diff has yesterday to compare against.
-
Local install (only needed if running locally for testing)
python -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt python -m playwright install chromium
-
Verify the company list ATS slugs sometimes go stale. Open each URL once before first cron run:
- Greenhouse:
https://boards.greenhouse.io/{slug} - Lever:
https://jobs.lever.co/{slug} - Ashby:
https://jobs.ashbyhq.com/{slug}
Edit
companies.jsonand update / remove any 404s. - Greenhouse:
-
GitHub repo secrets (Settings → Secrets and variables → Actions)
ANTHROPIC_API_KEY— for the Claude Haiku classifierRESEND_API_KEY— from resend.com (free tier covers this easily)DIGEST_FROM—onboarding@resend.dev(or your verified Resend sender)DIGEST_TO— your inbox
-
First run: trigger the workflow manually from the Actions tab. The first run produces a snapshot but nothing to diff against; from day 2 onward you'll get real signal data.
copy .env.example .env
# fill in OPENAI_API_KEY, RESEND_API_KEY, DIGEST_FROM, DIGEST_TO
python pipeline.py
python notify.py # forces a digest email even mid-weekAppend to companies.json:
{ "name": "NewCo", "ats": "greenhouse", "slug": "newco", "country": "SE", "tier": "growth" }tier is informational only (scale / growth / early). country is ISO-2 (SE / NO / DK / FI / IS / EE).
- GitHub Actions: free (under 2000 min/month even running daily)
- Resend: free tier (3k emails/month — way more than needed)
- Anthropic Claude Haiku 4.5: ~$0.001 per job classified with prompt caching, so <€0.20/month at this scale
- Total: effectively free
Forward each Monday digest manually to 10 hand-picked recipients (Stockholm recruiting agency founders, Nordic dev tool AEs, VC associates). Subject line: "fyi — Nordic AI hiring signals this week". Track replies. If 3+ ask to stay on the list, build the website (Phase 2).