All projects
PROJECTBuilt

Multi-Agent Job Finder

An AI-powered job discovery system that reads a resume, searches multiple job boards, filters and deduplicates real job listings, and ranks opportunities by relevance.

I built a ten-stage Python pipeline that automates the discovery and ranking process. Resume information is extracted using pypdf or python-docx, candidate skills are identified using Python rules, Gemini analyzes the profile once per run, and optimized searches are generated across multiple job sources. BeautifulSoup and Playwright collect job information, while Python handles date normalization, filtering, duplicate removal and relevance scoring before Streamlit presents the final ranked results.

Source code
PROJECT MEDIA

Demo & screenshots

Multi-Agent Job Finder Demo
Multi-Agent Job Finder resume analysis and search configuration interface
Resume Analysis & Job Search
Multi-Agent Job Finder ranked job results
Ranked Job Matches
THE SYSTEM, STEP BY STEP

System flow

01Resume Upload
→
02Resume Reader
→
03Keyword Extractor
→
04Gemini Analyzer
→
05Query Optimizer
→
06Job Search Agent
→
07URL Filter
→
08Job Scraper Agent
→
09Date Normalizer
→
10Duplicate Remover
→
11Relevance Scorer
→
12Ranked Streamlit Results

Click Play a Run to follow the system from start to finish.

What it is

Multi-Agent Job Finder is a Streamlit-based job discovery application that turns an uploaded PDF or DOCX resume into ranked job opportunities. The system extracts candidate information, uses a single Gemini call to analyze the resume and create search queries, searches multiple job platforms, scrapes job details, normalizes posting dates, removes duplicate results and calculates a relevance score before displaying ranked job cards.

The problem it solves

Searching for relevant jobs manually requires repeatedly visiting different job boards, rewriting search queries, checking posting dates and comparing each role against a resume. Results can also contain duplicate listings, irrelevant pages and jobs that do not closely match the candidate's experience.

How it works

  1. PDF and DOCX resume upload

  2. Resume text extraction with pypdf and python-docx

  3. Python-based skill, title, location and experience extraction

  4. 100+ skill keyword dictionary

  5. Single Gemini API call per job-search run

  6. AI-generated candidate profile and search queries

  7. Multi-job-board search pipeline

  8. LinkedIn job discovery

  9. Rozee.pk job discovery

  10. Indeed job discovery

  11. Glassdoor job discovery

  12. Mustakbil job discovery

  13. Google Jobs discovery

  14. Automatic generation of up to 18 job-board search URLs

  15. BeautifulSoup static job scraping

  16. Playwright support for dynamic job pages

  17. Automatic junk URL filtering

  18. Multi-format job posting date parsing

  19. From-date and to-date filtering

  20. URL normalization for duplicate removal

  21. RapidFuzz title and company duplicate detection

  22. Five-signal relevance scoring system

  23. Percentage-based job match ranking

  24. Ranked Streamlit job cards

  25. Job source and posting date display

  26. Direct job application links

  27. CSV results download

  28. Resume processed in memory without database storage

The engineering focus

I built a ten-stage Python pipeline that automates the discovery and ranking process. Resume information is extracted using pypdf or python-docx, candidate skills are identified using Python rules, Gemini analyzes the profile once per run, and optimized searches are generated across multiple job sources. BeautifulSoup and Playwright collect job information, while Python handles date normalization, filtering, duplicate removal and relevance scoring before Streamlit presents the final ranked results.

Built with

See the other projects