Pipeline
How the bot decides what to send
Job Watcher keeps a shared cache of job postings, applies fast rule-based filters first, then spends AI work only on jobs that still look plausible for your profile.
Decision flow
The diagram below follows the current evaluator path from an active cached job through location checks, seniority filtering, initial AI review, daily review capacity, AI fit scoring, and Telegram delivery. Some numbers are configurable per deployment or profile, such as the recommended-job threshold, notification limit, and commute distance.
Geography and seniority checks remove unsuitable jobs before the initial AI review.
A faster batch pass decides whether a job is worth full AI fit scoring.
Recommended jobs are sent individually. Additional recommended jobs can be grouped into a digest.
1 Eligibility checks
2 Initial review
3 Scoring and delivery
How jobs enter the system
Ingestion is separate from user evaluation. Direct company integrations fetch jobs into a shared cache first; user profiles then evaluate cached jobs against their own preferences.
Company career systems
For supported companies, Job Watcher talks directly to the company's career page or ATS feed. Examples include Greenhouse, Lever, Workday, SmartRecruiters, custom APIs, and structured HTML pages.
- Each integration has a configured parser and canonical internal name.
- Fetched postings are normalized into one internal job shape.
- Stable job IDs, URLs, company names, locations, timestamps, and integration metadata are stored in the shared cache.
- Repeated scans refresh existing jobs, add new jobs, and mark missing jobs after enough successful checks.
Availability and freshness
Each direct integration maintains its own posting lifecycle so stale roles leave active results without relying on a third-party job board.
- Successful scans refresh jobs still published by the employer.
- Missing jobs receive bounded follow-up checks before closure.
- Ambiguous or blocked responses do not close jobs prematurely.
- Closed rows remain temporarily available for history and operational recovery.
Fetch
Ingestion jobs run on a schedule and fetch postings into the shared database.
Normalize
Different ATS and page formats are converted into the same job model.
Evaluate
User profiles evaluate active cached jobs with geography, seniority, initial AI review, and AI fit scoring.
Notify
Recommended jobs are sent through Telegram as individual alerts or grouped digest entries.