Spaces:
Sleeping
Sleeping
| title: Nsbecf | |
| emoji: ๐ | |
| colorFrom: yellow | |
| colorTo: purple | |
| sdk: gradio | |
| sdk_version: 6.9.0 | |
| app_file: app.py | |
| pinned: false | |
| # AI Career Fair Matcher | |
| AI Career Fair Matcher helps students prioritize career fair companies by analyzing resume fit against live job postings. | |
| ## What It Does | |
| - Accepts a resume PDF. | |
| - Uses a built-in company CSV and optionally accepts a user-uploaded CSV. | |
| - Extracts resume text and builds a structured profile JSON. | |
| - Uses AI resume parsing through Hugging Face InferenceClient with fallback parsing. | |
| - Detects ATS providers from company careers URLs. | |
| - Fetches jobs using requests first and Playwright fallback. | |
| - Scores jobs with explainable rules. | |
| - Ranks companies by fit. | |
| - Generates recruiter talking points. | |
| ## Project Structure | |
| - `app.py` | |
| - `src/resume/` | |
| - `src/jobs/` | |
| - `src/scoring/` | |
| - `src/output/` | |
| - `NSBE 2026 Baltimore Company_ Schools - Companies.csv` (built-in default) | |
| - `data/NSBE 2026 Baltimore Company_ Schools - Companies (1).csv` (alternate built-in) | |
| ## Resume Profile Schema | |
| ```json | |
| { | |
| "skills": [], | |
| "languages": [], | |
| "frameworks": [], | |
| "tools": [], | |
| "target_titles": [], | |
| "locations": [], | |
| "experience_level": "" | |
| } | |
| ``` | |
| ## Matching Rules | |
| - Rewards skill overlap. | |
| - Rewards role match. | |
| - Rewards entry-level signals. | |
| - Penalizes senior role signals. | |
| ## Local Run | |
| 1. Install dependencies: | |
| `pip install -r ../requirements.txt` | |
| 2. Optional but recommended for Playwright fallback: | |
| `playwright install chromium` | |
| 3. For AI resume parsing, set in `.env`: | |
| `HF_TOKEN=...` | |
| `HF_MODEL=meta-llama/Llama-3.1-8B-Instruct` | |
| ## Output | |
| - Ranked companies | |
| - Matching jobs | |
| - Resume profile JSON | |
| - Recruiter talking points | |