FindJobs-Agent
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 182 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This toolkit is a full-stack, LLM-powered job search assistant. It crawls job postings from major tech companies, analyzes them, parses user resumes, and conducts AI-driven mock interviews to help candidates prepare.
Security Assessment
The overall security risk is rated as Medium. The application inherently handles sensitive data because it requires users to feed it personal documents, such as PDF resumes, and relies on sending this data to external LLM APIs. It makes external network requests to crawl company websites and communicate with OpenAI. While the automated code scan (12 files) found no dangerous execution patterns or malicious code, the project includes a notable bad practice: it instructs users to store their OpenAI API keys in a hardcoded, unencrypted markdown file (`API_key.md`) on their local machine, which poses a secret-leakage risk.
Quality Assessment
The project is actively maintained, with its last push occurring just today. It enjoys moderate community trust with 182 GitHub stars, indicating that other developers have found it useful. Furthermore, it is fully compliant with open-source standards, distributed under the permissive and highly accessible MIT license. The repository is well-organized, featuring a comprehensive README and a clear, modular project structure.
Verdict
Use with caution — the tool itself is safe and open-source, but you should handle your personal resume data and API keys with care, ideally relying on secure environment variables instead of a plaintext file to store your LLM credentials.
LLM-powered toolkit for skill analysis, AI interviews, resume scoring, and job structuring. Automates professional skill taxonomy and interview processes with adaptive difficulty.
FindJobs-Agent
LLM-powered job hunting toolkit — from crawling to interview prep, all in one place.
What is FindJobs-Agent?
A full-stack job search assistant that crawls postings from major tech companies, analyzes them with LLMs, parses your resume, and runs AI mock interviews — so you can focus on preparing, not sifting through job boards.
Features
Job Crawler
- Crawl job postings from Tencent, NetEase, ByteDance, Amazon, and more
- Dual mode: API crawling + Selenium browser automation
- Automatic data cleaning and format normalization
LLM Job Analysis
- Extract education and major requirements automatically
- Skill tag recognition with importance scoring (1-5)
- Job taxonomy classification (primary/secondary categories)
Resume Parsing & Matching
- Parse PDF/Word resumes intelligently
- Extract and score skill tags
- Calculate job-resume match percentage
AI Mock Interview
- Generate targeted interview questions from job descriptions
- Multi-turn conversational interview simulation
- Real-time feedback and suggestions
Project Structure
FindJobs-Agent/
├── FrontEnd/ # React frontend
│ ├── src/
│ │ ├── components/ # Page components
│ │ │ ├── JobsPage.tsx # Job browsing
│ │ │ ├── ResumePage.tsx # Resume analysis
│ │ │ └── InterviewPage.tsx # AI interview
│ │ └── App.tsx
│ └── package.json
├── job_crawler_v2.py # Multi-company crawler (primary)
├── job_crawler_selenium.py # Selenium crawler
├── job_agent.py # LLM job analysis agent
├── pipeline.py # Data processing pipeline
├── api_server.py # Flask API server
├── AI_interviewer.py # AI interview module
├── resume_parser.py # Resume parser
├── tag_rate.py # Skill scoring
├── llm_client.py # LLM client
├── tech_taxonomy.json # Job taxonomy
├── all_labels.csv # Skill tag library
└── requirements.txt
Quick Start
Prerequisites
- Python 3.9+
- Node.js 18+
- Chrome (required for Selenium crawler)
1. Clone the repo
git clone https://github.com/he-yufeng/FindJobs-Agent.git
cd FindJobs-Agent
2. Install backend dependencies
pip install -r requirements.txt
3. Set up your API key
Create an API_key.md file with your OpenAI API key:
sk-your-api-key-here
4. Start the backend
python api_server.py
5. Start the frontend
cd FrontEnd
npm install
npm run dev
6. Open the app
Visit http://localhost:8080 in your browser.
Data Pipeline
The processing flow goes through four stages:
- Crawl (
job_crawler_v2.py) — Fetch job postings from company career sites - Analyze (
job_agent.py) — LLM extracts requirements, skills, and classifications - Score (
tag_rate.py) — Match and score skill tags against the taxonomy - Serve (
api_server.py) — Expose results via REST API for the frontend
Run the full pipeline
# Crawl + analyze + generate website data
python pipeline.py
# Crawl only
python job_crawler_v2.py -c tencent netease amazon -m 300
# Analyze only (for testing)
python pipeline.py --analyze-only --max-jobs 50
Key Modules
job_crawler_v2.py
Multi-company job crawler supporting:
- Tencent, NetEase, ByteDance, Amazon (stable, API-based)
- Alibaba, Meituan, JD, etc. (Selenium mode)
# Crawl specific companies
python job_crawler_v2.py -c tencent netease -m 500
# List supported companies
python job_crawler_v2.py --list
job_agent.py
LLM-driven job analysis agent:
- Education requirement extraction (Bachelor's/Master's/PhD)
- Major requirement identification
- Skill tag matching and scoring
- Job classification
AI_interviewer.py
AI mock interview system:
- Generates interview questions from job descriptions
- Multi-turn conversational interaction
- Answer evaluation and feedback
API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/api/jobs |
GET | List job postings |
/api/jobs/<id> |
GET | Get job details |
/api/resume/upload |
POST | Upload resume |
/api/resume/analyze |
POST | Analyze resume |
/api/interview/start |
POST | Start mock interview |
/api/interview/answer |
POST | Submit interview answer |
Contributing
Issues and pull requests are welcome!
License
MIT License
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found