Job Hunter Automation

Asynchronous pipeline for semantic discovery and ATS automation

PythonPlaywrightPrefectSentence-TransformersSQLiteWeasyPrint
View Source on GitHub

The Problem

The modern job market is saturated with high-noise aggregators, making manual discovery and application to quality roles a massive operational bottleneck.

Architecture

Orchestration

Prefect

6-stage asynchronous workflow

Scraping

Playwright (Async)

Career page detection & stealth crawling

Evaluation

all-MiniLM-L6-v2

Local semantic similarity scoring

Generation

WeasyPrint / Jinja2

Tailored PDF resume construction

Integration

Telegram API

Actionable notifications & callbacks

Implementation

Implemented a multi-node pipeline using asyncio and ThreadPoolExecutor to handle concurrent domain crawling and parallel job evaluation. The system uses local Sentence-Transformers for privacy-preserving semantic matching, bypassing the need for cloud LLMs. High-scoring jobs trigger a dynamic generation engine that selects tech-stack specific bullets from a master resume and builds a tailored PDF, which is then served via Telegram with interactive 'Apply' triggers for ATS platforms.

Manual Work

-90%

Time Saved

Privacy

100%

Local ML

Coverage

100+

Domains/Run

Key Learnings

"Local execution of semantic models proved that complex decision-making could be achieved without external API overhead, maintaining 100% data privacy while drastically reducing system latency."