AI Resume Analyzer
AI Resume Analyzer is a Flask-based web application that lets users upload a PDF or DOCX resume, extract its text, and receive AI-powered feedback such as an ATS-style score, summary, detected skills, missing skills, strengths, weaknesses, and suggestions.
Features
- Upload resume files in PDF or DOCX format
- Extract text from uploaded documents
- Analyze resume content with Gemini-based AI processing
- Display structured feedback in the browser
Tech Stack
- Flask
- Flask CORS
- Python-dotenv
- PyMuPDF
- python-docx
- Google Generative AI
- HTML/CSS/JavaScript frontend
Prerequisites
- Python 3.10 or newer
- pip
- A Gemini API key
Setup
- Clone the repository and open the project folder.
- Create and activate a virtual environment:
bash python -m venv .venv .venv\Scripts\activate - Install dependencies:
bash pip install -r requirements.txt - Create a
.envfile in the project root with your Gemini API key:env GEMINI_API_KEY=your_api_key_here - Start the Flask app:
bash python backend/app.py - Open the app in your browser at:
text http://127.0.0.1:5000/
Project Structure
backend/contains the Flask app and API routesfrontend/contains the HTML, CSS, and JavaScript UIAI/contains the AI integration modulesresume_parser/contains the document parsing logic
Notes
- If the Gemini API key is missing or invalid, the app will still return a fallback analysis so the UI remains usable.
- For production deployments, use a production WSGI server instead of Flask's built-in development server.
Built With
- ai
- css
- flask
- generative-ai
- google-gemini-api
- html
- javascript
- natural-language-processing
- pymupdf
- python
- python-docx
- rest-api
Log in or sign up for Devpost to join the conversation.