Decide what to automate and where review stays
Automate repetitive discovery, field extraction, deduplication, scoring, alerts, public research, and first drafts. Keep a candidate or recruiter responsible for confirming that a role is open, checking the full requirements, tailoring application materials, and approving any message or submission. This boundary reduces busywork without allowing stale or misread data to trigger a high-impact action.
Translate the search brief into hard filters and preferences
Record title aliases, seniority, required skills, employment type, location or remote rules, time-zone limits, salary range when published, work authorization needs, preferred industries, and excluded employers. Separate non-negotiable filters from weighted preferences and state what should happen when a listing omits a field. This produces more useful rankings than one broad keyword query and makes false positives easier to diagnose.
Create clean role records and detect reposts
For each listing, capture the source URL or job ID, exact title, company, location, first-seen and posted dates, description snapshot, employment type, and compensation when stated. Deduplicate by a stable source ID first, then by a normalized combination of company, title, location, and description. Treat a changed or reposted role as a status update when appropriate instead of presenting it as a completely new opportunity.
Match the access method to the source rules
Prefer official alerts, exports, feeds, or APIs when they meet the need. If browser automation is used for LinkedIn or another job board, confirm that the account, access pattern, and intended use follow the source's current terms and your organization's policy. Limit collection frequency, store only the personal data needed for the workflow, and define retention and deletion rules. Browser access expands what a workflow can reach; it does not remove compliance responsibilities.
Research hiring contacts as evidence-based candidates
Use the role's department, seniority, and location to form a contact hypothesis, then check company career pages, team pages, and public professional information for supporting evidence. Save the person's role, why they may be relevant, the source, the date checked, and a confidence level. Label a recruiter, department leader, or founder as a likely contact rather than a confirmed hiring manager unless the evidence says so, and use only approved contact channels.
Rank roles with explanations, not an opaque score
Score role scope, required skills, seniority, location, recency, and company preferences separately, and show the strongest matches, mismatches, and unknowns. Missing information is not the same as failing a requirement. Review a sample of high, medium, and low scores, label whether each result is genuinely relevant, and adjust rules until the ranking reflects how a person makes the decision.
Deliver an action-ready shortlist
A useful output includes the job link, dates, fit summary, evidence for key requirements, unresolved questions, company context, likely contact with confidence and source, status, owner, and next action. Group results into new, changed, closing soon, and needs-review queues, and send a digest at a frequency the user can act on. Draft notes should reference verified experience and published role needs, not invented familiarity or unsupported claims.
Measure relevance and tune the workflow
Track shortlist precision from human labels, save or approval rate, application rate, duplicate and stale-listing rates, contact accuracy, and time spent reviewing each batch. Interviews or replies are useful downstream signals but also depend on application quality and market conditions. Review false positives and missed roles by title family, location, source, and filter so weekly changes address a specific failure instead of simply adding more keywords.