ResumeAIQ is a full-stack application that leverages Google's Gemini AI to analyze resumes, provide ATS scoring, answer questions about the candidate, and perform job matching.
- Resume Parsing: Supports PDF and DOCX formats.
- ATS Scoring: Evaluates resume structure, keywords, experience impact, and readability.
- AI Summary: Generates concise, HR-friendly summaries using Gemini AI.
- Q&A Chat: RAG-based chat interface to ask questions about the uploaded resume.
- Job Matching: Compares the resume against a provided job description and offers improvement recommendations.
- Modern UI: Glassmorphism-themed frontend built with React, Vite, and Tailwind-free custom CSS.
- Backend: FastAPI, Python, LangChain (Concepts), FAISS, Google Generative AI SDK.
- Frontend: React, TypeScript, Vite, Redux Toolkit, Framer Motion, Axios.
- Containerization: Docker, Docker Compose, Nginx.
- Docker and Docker Compose
- Node.js (for local frontend dev)
- Python 3.11+ (for local backend dev)
- Google Gemini API Key (Get one at Google AI Studio)
Run the entire stack with a single command:
docker-compose up --build- Frontend: http://localhost:3000
- Backend: http://localhost:8000/docs (Swagger UI)
- Navigate to
backend/:cd backend - Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: .\venv\Scripts\Activate
- Install dependencies:
pip install -r requirements.txt
- Run the server:
uvicorn app.main:app --reload
- Navigate to
frontend/:cd frontend - Install dependencies:
npm install
- Run the dev server:
npm run dev
We have defined workflows for maintaining code quality.
To Lint the Project: Use the agent workflow command or manually run:
- Backend:
flake8 . - Frontend:
npm run lint
See .agent/workflows/lint.md for details.