Skip to content

About

AI-powered resume optimizer. Analyzes resumes and suggests improvements using LLM.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

33 Commits

Folders and files

Repository files navigation

Python Streamlit

🎯 AI Resume Optimizer

An LLM-Free, In-Place Resume Optimization Engine


AI Resume Optimizer helps job seekers compare a resume with a target job description, inspect an ATS-style score, and add supported skills to the original resume's Skills section. Resume parsing, scoring, and editing run locally. If Groq or Gemini credentials are configured, optional JD-skill extraction and improvement tips send the job description and related skill text to that provider; resume contents are not sent.

✨ Features

  • 📊 ATS Scoring: Calculates a weighted compatibility score based on Skill Matching (60%) and TF-IDF Similarity (40%).
  • 🧠 Intelligent Role Detection: Automatically identifies the target job archetype and adjusts the required skills dynamically.
  • 🏷️ Skill Classification: Categorizes skills into three buckets: Already Listed, Will Be Added (Optimizable), and Genuinely Missing.
  • 🪄 In-Place Resume Editing: Upload your DOCX or PDF, and the engine will surgically inject missing skills into your existing "Skills" section without destroying the original formatting.
  • 📝 Automated Cover Letters: Generates a custom cover letter document based on your resume and the target role.
  • 📈 Detailed ATS Reports: Download a comprehensive DOCX report of your keyword matches and gaps.
  • 🎨 Modern UI: A highly polished, dynamic Streamlit interface featuring 3D ambient animations, glassmorphism, and responsive metric cards.

🛠️ Tech Stack

  • Frontend & UI: Streamlit (Enhanced with custom HTML/CSS for advanced styling)
  • Language: Python 3.10+
  • Core Processing:
    • pypdf & python-docx for document parsing and modification
    • flashtext for hyper-fast keyword extraction
    • scikit-learn for TF-IDF vectorization and cosine similarity
  • Deployment: Fully compatible with Streamlit Community Cloud, Hugging Face Spaces, or any Dockerized PaaS.

🚀 Getting Started

Prerequisites

Ensure you have Python 3 installed on your machine.

Installation

  1. Clone the repository

git clone https://github.com/vimal2645/ai-resume-optimizer.git cd ai-resume-optimizer


2. **Create a virtual environment**
```bash
python -m venv .venv

On Windows PowerShell, activate with .venv\Scripts\Activate.ps1. On macOS/Linux, use source .venv/bin/activate.

  1. Install dependencies and run the application

python -m pip install -r requirements.txt streamlit run app.py

The app will instantly open in your default browser at `http://localhost:8501`.

## 📂 Project Structure

- `app.py`: The main Streamlit frontend application.
- `core/`: Contains the core parsing logic (`parser.py`) and role detection algorithms (`role_detector.py`).
- `utils/`: Utility scripts for document generation (`document_generator.py`), in-place editing (`inplace_editor.py`), and skill matching (`ai_skill_matcher.py`).
- `data/`: Local JSON databases for skills, synonyms, and role archetypes.
- `.github/workflows/`: Contains GitHub Actions (e.g., `keep_alive.yml` to prevent cloud platforms from sleeping).

## 🔒 Privacy First
Resume files are parsed, scored, and edited locally and are not sent to an LLM. Without optional provider credentials, skill extraction and advice use local fallbacks. If Groq or Gemini credentials are configured, the job description may be sent to that provider for skill extraction, and job-related skills/title may be sent for improvement tips. Review your provider's privacy terms before enabling those integrations.

---
<div align="center">
<i>Built to help you land your dream job faster.</i>
</div>

About

AI-powered resume optimizer. Analyzes resumes and suggests improvements using LLM.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages