- lib/filter.mjs: batch scoring engine (10 jobs/call, Claude Haiku) - job_filter.mjs: standalone CLI with --dry-run and --stats flags - Threshold configurable globally + per-search in search_config.json (filter_min_score, default 5) - Job profiles (gtm/ae) passed as context via settings.filter.job_profiles - Filtered jobs get status='filtered' with filter_score + filter_reason - Filter errors pass jobs through (never block applications) - status.mjs: added 'AI filtered' line to report
45 lines
1.2 KiB
JSON
45 lines
1.2 KiB
JSON
{
|
|
"_note": "Configure your job searches here. Each search runs on both listed platforms.",
|
|
"first_run_days": 90,
|
|
"filter_min_score": 5,
|
|
"searches": [
|
|
{
|
|
"name": "Founding GTM",
|
|
"track": "gtm",
|
|
"filter_min_score": 5,
|
|
"keywords": [
|
|
"founding account executive",
|
|
"first sales hire",
|
|
"first GTM hire",
|
|
"founding AE",
|
|
"head of sales startup remote"
|
|
],
|
|
"platforms": ["linkedin", "wellfound"],
|
|
"filters": {
|
|
"remote": true,
|
|
"posted_within_days": 2
|
|
},
|
|
"exclude_keywords": ["BDR", "SDR", "staffing", "insurance", "retail", "consumer", "recruiter", "DataAnnotation"],
|
|
"salary_min": 130000
|
|
},
|
|
{
|
|
"name": "Enterprise AE",
|
|
"track": "ae",
|
|
"filter_min_score": 5,
|
|
"keywords": [
|
|
"enterprise account executive SaaS remote",
|
|
"senior account executive technical SaaS remote",
|
|
"enterprise AE data infrastructure cloud"
|
|
],
|
|
"platforms": ["linkedin"],
|
|
"filters": {
|
|
"remote": true,
|
|
"posted_within_days": 2,
|
|
"easy_apply_only": true
|
|
},
|
|
"exclude_keywords": ["BDR", "SDR", "SMB", "staffing", "retail", "DataAnnotation"],
|
|
"salary_min": 150000
|
|
}
|
|
]
|
|
}
|