majidali1256 commited on
Commit
36f4fff
Β·
1 Parent(s): 2580448

docs: add professional Hugging Face Model Card and Dockerfile for deployment

Browse files
Files changed (2) hide show
  1. Dockerfile +12 -0
  2. README.md +111 -0
Dockerfile ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.11-slim
2
+
3
+ WORKDIR /app
4
+
5
+ COPY requirements.txt .
6
+ RUN pip install --no-cache-dir -r requirements.txt
7
+
8
+ COPY . .
9
+
10
+ EXPOSE 8000
11
+
12
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
README.md CHANGED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: AI Resume Screener & Feedback System
3
+ emoji: πŸš€
4
+ colorFrom: cyan
5
+ colorTo: purple
6
+ sdk: docker
7
+ tags:
8
+ - resume-screener
9
+ - recruitment
10
+ - gemini-flash
11
+ - pydantic
12
+ - fast-api
13
+ - assessment
14
+ - google-stitch-mcp
15
+ license: mit
16
+ ---
17
+
18
+ # πŸš€ MATCH.AI β€” AI Resume Screener & Feedback System
19
+
20
+ [![GitHub Repository](https://img.shields.io/badge/GitHub-majidali1256%2Fai--resume--screener-blue?style=for-the-badge&logo=github)](https://github.com/majidali1256/ai-resume-screener)
21
+ [![Hugging Face](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-AI__Resume__Scanner-ffcc00?style=for-the-badge)](https://huggingface.co/majidali1256/AI_Resume_Scanner)
22
+ [![FastAPI](https://img.shields.io/badge/FastAPI-0.115+-009688?style=for-the-badge&logo=fastapi)](https://fastapi.tiangolo.com)
23
+ [![Google Gemini Flash](https://img.shields.io/badge/Google%20Gemini-Flash%201.5-4285F4?style=for-the-badge&logo=google)](https://ai.google.dev)
24
+
25
+ An enterprise-grade, deterministic **AI Resume Screener & Structured Feedback System** built for high-accuracy recruitment screening. Powered by **Google Gemini Flash**, strictly typed with **Pydantic**, served via **FastAPI**, and styled with **Google Stitch MCP 3D Executive Studio**.
26
+
27
+ ---
28
+
29
+ ## ✨ Features & Architecture
30
+
31
+ ```mermaid
32
+ graph LR
33
+ A[Candidate Resume PDF / TXT] --> C[FastAPI Scanner /api/scan]
34
+ B[Job Description Spec] --> C
35
+ C --> D[PDF / TXT Extractor Engine]
36
+ D --> E[Gemini Flash temperature=0.0]
37
+ E --> F[Pydantic Schema Validation]
38
+ F --> G[3D Interactive Studio Dashboard]
39
+ ```
40
+
41
+ 1. **Deterministic AI Scoring Engine (`temperature = 0.0`)**:
42
+ - Evaluates candidates against job descriptions without LLM hallucinations or variance.
43
+ 2. **Strict Pydantic Output Validation**:
44
+ - Enforces valid JSON structure (`Assessment` schema) with numerical scores (0–100), executive rationale, matched requirements, skill gaps, and interview presentation suggestions.
45
+ 3. **Google Stitch MCP 3D Executive Studio (`static/index.html`)**:
46
+ - **Dual Aurora Light & Obsidian Dark Themes** with automatic local persistence.
47
+ - **3D Interactive Particle Network Canvas**: Dynamic depth-scaled nodes floating and connecting at 60 FPS.
48
+ - **3D Perspective Mouse Tilt**: Glassmorphic cards tilt realistically in 3D space with specular lighting.
49
+ 4. **Isolated & Safe Document Processing**:
50
+ - Supports both `.pdf` and `.txt` documents without storing sensitive applicant files.
51
+
52
+ ---
53
+
54
+ ## πŸš€ Quick Setup & Usage
55
+
56
+ ### 1. Run Locally with Docker
57
+ ```bash
58
+ docker build -t ai-resume-scanner .
59
+ docker run -p 8000:8000 -e GEMINI_API_KEY="your_api_key_here" ai-resume-scanner
60
+ ```
61
+
62
+ ### 2. Run Locally with Python Virtual Environment
63
+ ```bash
64
+ python3 -m venv .venv
65
+ source .venv/bin/activate
66
+ pip install -r requirements.txt
67
+
68
+ # Set your Gemini API Key
69
+ export GEMINI_API_KEY="your_api_key_here"
70
+
71
+ # Start the server
72
+ uvicorn main:app --host 0.0.0.0 --port 8000
73
+ ```
74
+ Open your browser at **[http://localhost:8000](http://localhost:8000)** to launch the **3D Executive Studio**!
75
+
76
+ ---
77
+
78
+ ## πŸ”Œ API Reference
79
+
80
+ ### POST `/api/scan`
81
+ Upload a candidate resume and job description to get a complete JSON assessment.
82
+
83
+ #### Request (Multipart Form Data):
84
+ - `resume_file`: `.pdf` or `.txt` file
85
+ - `jd_file` (optional): Job Description `.pdf` or `.txt` file
86
+ - `jd_text` (optional): Raw job description text
87
+
88
+ #### Response Schema:
89
+ ```json
90
+ {
91
+ "match_score": 85,
92
+ "score_rationale": "Strong alignment across React, TypeScript, and modern frontend architecture...",
93
+ "matched_requirements": [
94
+ "5+ years Frontend engineering experience",
95
+ "Expertise in TypeScript and React 18"
96
+ ],
97
+ "missing_requirements": [
98
+ "Direct experience with GraphQL caching layer"
99
+ ],
100
+ "suggestions": [
101
+ "Highlight quantifiable performance metrics in recent roles"
102
+ ],
103
+ "limitations": []
104
+ }
105
+ ```
106
+
107
+ ---
108
+
109
+ ## πŸ‘¨β€πŸ’» Author & Team
110
+ - **Team Lead & Creator:** [Majid Ali](https://github.com/majidali1256)
111
+ - **Repository:** `majidali1256/ai-resume-screener`