#
Resume Analyzer AI
Resume Analyzer AI uses the blazing-fast LLaMA3-70B model via Groq API to evaluate how well a resume aligns with a job description β showing strengths, weaknesses, and a smart match score. Serverless and modern, it's built with Cloudflare Workers and React + Vite.
#
🚀 Key Features
#
⚙️ Architecture Workflow
flowchart LR
%% Styling
classDef user fill:#f9f,stroke:#333;
classDef frontend fill:#6af,stroke:#333;
classDef backend fill:#f96,stroke:#333;
classDef api fill:#8f8,stroke:#333;
classDef data fill:#ff8,stroke:#333;
%% Nodes
A[("ποΈ User Uploads<br>Resume & Job Desc")]:::user
B[["Frontend<br>(React + Vite)"]]:::frontend
C[["Cloudflare<br>Worker"]]:::backend
D[["Groq API<br>(LLaMA 3 70B)"]]:::api
E[["Structured<br>JSON Data"]]:::data
F[["Analysis<br>Engine"]]:::backend
G[["Results Dashboard<br>(Score + Feedback)"]]:::frontend
%% Connections
A -->|Submit| B
B -->|API Call| C
C -->|Query| D
D -->|JSON Response| E
E -->|Parse| F
F -->|Render| G
%% Optional: Group related nodes
subgraph User
A
end
subgraph Frontend
B
G
end
subgraph Backend
C
F
end
subgraph AI
D
end
#
π Project Structure
resume-analyzer/
βββ frontend/
β βββ src/components/ # UI components like Hero, Inputs, Results
β βββ src/services/api.ts # API handler for /analyze call
β βββ main.tsx, index.css # App entry and global styles
β βββ .env # VITE_API_BASE_URL config
β
βββ backend/
β βββ src/index.ts # Cloudflare Worker handler
β βββ wrangler.toml # Worker configuration
β βββ .dev.vars # Local dev API key env vars
β
βββ LICENSE
βββ SECURITY.md
βββ CODE_OF_CONDUCT.md
βββ README.md
#
📦 Setup & Run Locally
#
✅ Clone & Navigate
git clone https://github.com/vxrachit/resume-analyzer.git
cd resume-analyzer
#
🎨 Frontend Setup
cd frontend
npm install
npm run dev
Visit: http://localhost:5173
#
🟧 Backend (Cloudflare Workers)
cd ../backend
npx wrangler dev
Make sure
.dev.varscontains yourGROQ_API_KEY
#
🔐 Add Secrets for Deployment
npx wrangler secret put GROQ_API_KEY
To deploy the worker:
npx wrangler publish
#
📡 API Reference
#
POST /analyze
Send resume and job description as plain text.
#
Request:
{
"resume_text": "Experienced React developer...",
"job_description": "Frontend Engineer with React, Vite..."
}
#
Response:
{
"strengths": ["Strong React experience", "Vite familiarity"],
"weaknesses": ["No backend exposure"],
"match_score": 78,
"conclusion": "Strong fit for UI roles, backend knowledge can be improved."
}
#
🌐 Deployment Recommendations
#
🔐 License
MIT License β free to use, modify, and share.
#
🌱 Future Roadmap
- PDF/Docx Resume upload and parsing
- Admin dashboard for HR teams
- Multilingual analysis support
- Gemini Vision resume parser
#
🔗 GitHub
View Source: https://github.com/vxrachit/resume-analyzer