Skip to content

Latest commit

 

History

36 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 JobScout-AI

An Agentic AI-Powered Resume Parser, Vector Store, and Automated Job Scraping Pipeline

Python 3.10+ Vector Store-ChromaDB-orange Scraper-JobSpy-green License: MIT

An intelligent, multi-stage pipeline that parses candidate resumes, organizes skills using vision/language capabilities, indexes semantic embeddings in ChromaDB, generates targeted search queries, and scrapes fresh remote tech job opportunities across major platforms.


📌 Overview

JobScout-AI bridges the gap between candidate resumes and active job board listings. Rather than relying on generic keyword searches, JobScout-AI analyzes candidate credentials, extracts structured skills, stores vector representations for semantic matching, and dynamically formulates search queries filtered by seniority target levels (e.g., Junior, Mid, Senior).

It systematically queries live job aggregators (LinkedIn, Indeed, Google Jobs) using JobSpy, enforcing strict age and seniority rules to deliver high-intent, recent opportunities directly into structured local caches.



📚 Docs & Architecture

A complete guide covering the full project architecture and individual pipeline module breakdowns can be explored directly in the interactive documentation page (index.html).

Core Pipeline Modules

  • parser.py: Handles document ingestion, text extraction, and structural preprocessing.
  • vlm.py: Coordinates the Vision-Language Model interface for multimodal analysis.
  • chroma_store.py: Manages the ChromaDB vector database, embedding generation, and storage.
  • query-generation.py: Formulates and optimizes search queries based on user intent.
  • job-search.py: Connects to external APIs to fetch and filter live career listings.

For a professionally formatted, step-by-step walkthrough of the entire setup process, please refer to our live documentation site:

🔗 JobScout-AI Deployment & Installation Docs



✨ Key Features

  • 📄 Smart Resume Parsing: Extracts structured technical credentials from PDF resumes (parser.py).
  • 👁️ Visual & Semantic Structuring: Leverages VLM/LLM capabilities to categorize candidate skills into structured domains (vlm.py).
  • ⚡ Vector DB Indexing: Embeds and indexes resume context into ChromaDB for efficient semantic retrieval (chroma_store.py).
  • 🎯 Targeted Query Generation: Dynamically constructs Boolean search queries mapped to candidate seniority targets (query-generation.py).
  • 🔍 Multi-Platform Web Scraping: Scrapes active listings across LinkedIn, Indeed, and Google Jobs with real-time freshness filters (job-search.py).
  • 🛡️ Seniority Rules Engine: Deterministically evaluates candidate seniority and query parameters to filter out mismatched positions.
  • 🔄 Orchestrated Execution: Single-command execution via main.py with non-destructive, auto-updating cache management.


📊 Pipeline Flow & Responsibilities

job_results_cache.json Execution Flow

Step Module Function / Responsibility
1 Core/parser.py Extracts raw text and structure from input PDF resumes.
2 Core/vlm.py Processes resume content to extract domain skills into temp_organized_resume.json.
3 Data/chroma_store.py Generates vector embeddings and stores chunks inside local ChromaDB storage.
4 Core/query-generation.py Formulates optimized Boolean search queries linked with target job levels in query_cache.json.
5 Core/job-search.py Executes multi-site scraping via JobSpy, filtering results by location, age ((\le) 2 days), and target match.


🏗️ System HLD & Pipelines

CV Processing Pipeline

Data Organize Pipeline

Tavily Search Pipeline

🛠️ System Architecture

               ┌───────────────────────┐
               │    User Resume PDF    │
               └───────────┬───────────┘
                           │
                           ▼
          ┌─────────────────────────────────┐
          │   Resume Parser & VLM Module    │
          └────────────────┬────────────────┘
                           │
             ┌─────────────┴─────────────┐
             ▼                           ▼
  ┌────────────────────┐      ┌────────────────────┐
  │ Structured Skills  │      │ Vector Embeddings  │
  └──────────┬─────────┘      └──────────┬─────────┘
             │                           │
             └─────────────┬─────────────┘
                           │
                           ▼
          ┌─────────────────────────────────┐
          │   LLM Query Generation Engine   │
          └────────────────┬────────────────┘
                           │
                           ▼
          ┌─────────────────────────────────┐
          │  Multi-Platform Job Searcher    │
          │  (LinkedIn, Indeed, Google)     │
          └────────────────┬────────────────┘
                           │
                           ▼
          ┌─────────────────────────────────┐
          │  Structured Output (JSON/Cache) │
          └─────────────────────────────────┘

About

An automated, agentic AI job scouting and matching pipeline that parses resumes, generates context-aware vector embeddings via ChromaDB, formulates intelligent search queries, and scrapes live remote job opportunities from top platforms.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages