# 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

Feature Description
🧠 LLM-Powered Uses Groq's LLaMA3-70B for intelligent, JSON-structured analysis
📊 Structured Output Returns strengths, weaknesses, score, and recommendations
Serverless Infra Backend deployed on Cloudflare Workers for ultra-low latency
🎨 Beautiful Frontend UI built with React, Tailwind CSS, and Lucide icons
🌱 Open Source Ready Easily extendable with clear structure and MIT license

# ⚙️ 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.vars contains your GROQ_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

Part Platform Command/Note
Frontend Cloudflare / Vercel / Netlify Deploy via GitHub
Backend Cloudflare wrangler publish

# 🔐 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