Skip to content

Repository files navigation

AIWrapper

Vite + React AI resume scanner featuring weighted, explainable ATS-style scoring. Securely processes PDF/DOCX resumes (with OCR) against job descriptions via a serverless proxy to Azure OpenAI.

AI Resume Scanner (Vite + React)

Weighted, explainable ATS-style scoring with hard rejects and mobile-friendly flow.

Dev

npm install
npm run dev

Build

npm run build

Deploy (Vercel or Netlify)

  • Build: npm run build
  • Output: dist/
  • Env: AZURE_OPENAI_API_KEY + AZURE_OPENAI_ENDPOINT + AZURE_OPENAI_DEPLOYMENT (Azure OpenAI)
  • Requests go to /api/scan serverless proxy which routes to Azure OpenAI only.

Vercel

  • api/scan.js is auto-detected as a Serverless Function at /api/scan.
  • Add the matching environment variables in Project Settings → Environment Variables.
  • api/health-env.js is available at /api/health-env to verify provider env wiring without exposing keys.

Step-by-step (Vercel)

  1. Sign in at vercel.com and import this GitHub repo.
  2. In the project setup screen, open Environment Variables.
  3. Add the Azure OpenAI variables only: AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_DEPLOYMENT.
  4. Set each variable for Production (and Preview/Development if needed).
  5. Click Deploy.
  6. If you later change any env var, redeploy so the function picks up the new values.
  7. Verify env wiring by opening /api/health-env on the deployed app URL.

Important

  • Do not reuse one provider's key for another provider.
  • Keep .env.local out of source control (already ignored by .gitignore).
  • If you get 401 Unauthorized, the key value is invalid for that provider.

Local env

  • Create a .env.local file in the pAzure OpenAI key or deployment is invalid
  • Start from .env.example and fill only real keys.
  • Verify configuration with:
    • npm run env:check
  • Then run:
    • npm run dev
  • Check local health endpoint:
    • http://localhost:5173/api/health-env

Netlify

  • Build/Output same as above.
  • Copy api/scan.js to netlify/functions/scan.js (or configure your functions dir) and add the same environment variables in site settings.

How to use

  1. Upload a text-based PDF/DOCX (or Load sample).
  2. Paste the Job Description (required).
  3. Fix red validation errors; warnings are optional.
  4. Mobile: Next → JD → Run. Desktop: click Run.
  5. Results show weighted score, dimensions, strengths, risks, gaps, rewrites. Copy/share as needed.

About

Vite + React AI resume scanner featuring weighted, explainable ATS-style scoring. Securely processes PDF/DOCX resumes (with OCR) against job descriptions via a serverless proxy to Azure OpenAI.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages