⚙️ JobMatchingConfig.json
{
  "user_experience": "10y Kotlin, AI/ML...",
  "target_roles": ["Staff AI Engineer"],
  "required_skills": ["Kotlin", "LLM", "Vector DBs"],
  "preferred_locations": ["Remote", "NYC"],
  "min_match_score": 0.75,
  "min_salary": 185000,
  "salary_currency": "USD",
  "work_arrangement_preference": "remote",
  "max_days_in_office": 0,
  "willing_to_relocate": false,
  "target_matches": 5
}
👁️ Session Transcript Output
✅ GOOD MATCH FOUND (Score: 88%)
Found at tech-careers.com/jobs/102
- Position: Staff AI Engineer
- Company: Neural Systems Inc.
- Location: Remote
- Salary: USD 190,000 - 230,000

Compatibility Scores:
- Skills: 92%
- Location: 100%
- Salary: 100%
- Work Arrangement: 100%

Configuration Parameters (JobMatchingConfig)

Field Type Description
user_experience* String Full resume text or detailed experience summary used for matching.
target_roles* List<String> List of job titles or keywords to filter for.
required_skills List<String> Specific technical or soft skills that must be present in the JD.
min_match_score Double Threshold (0.0-1.0) for considering a job a "Good Match". Default: 0.6.
preferred_locations List<String> Cities, states, or 'Remote'. Used for location scoring.
acceptable_locations List<String> Secondary locations that are acceptable but not preferred.
min_salary Int Minimum annual salary expectation in salary_currency.
salary_currency String ISO currency code. Default: USD.
work_arrangement_preference String One of: remote, hybrid, onsite, flexible.
max_days_in_office Int Maximum acceptable days in office per week for hybrid roles.
travel_willingness String 'none', 'occasional', or 'frequent'.
willing_to_relocate Boolean Whether the candidate is open to moving for the role.
target_matches Int Crawler terminates after finding N matches above min_match_score.

Execution Lifecycle

  1. Detection: Uses a fast-pass LLM check to identify if a page is a job posting (confidence > 0.7).
  2. Multi-Dimensional Analysis: Extracts structured data including salary ranges, travel requirements, and relocation assistance.
  3. Scoring Engine: Calculates weighted scores for Skills, Location, Salary, and Work Arrangement compatibility.
  4. Asset Generation: Drafts a tailored 200-300 word cover letter and application strategy notes.
  5. Persistence: Saves detailed Markdown reports to websearch/job_matches/ with timestamps and company metadata.

Kotlin Implementation

// Registering the strategy in a Crawler Task
val task = CrawlerAgentTask(
    params = CrawlerParams(
        baseUrl = "https://linkedin.com/jobs/search",
        strategy = JobMatchingStrategy(),
        content_queries = JobMatchingConfig(
            user_experience = myResumeText,
            target_roles = listOf("Staff AI Engineer"),
            required_skills = listOf("Kotlin", "OpenAI"),
            preferred_locations = listOf("Remote"),
            min_salary = 200000,
            work_arrangement_preference = "remote",
            min_match_score = 0.8
        )
    )
)