An AI-powered resume critique tool built with Streamlit and OpenAI API.
Users can upload a resume (PDF or TXT), specify the job role, and receive instant, section-by-section feedback from a Large Language Model (LLM).
Powered by uv for fast Python dependency management and reproducible environments.
This project was built by following this tutorial:
Used to build the interactive web interface with minimal code.
Used to analyze the resume content and generate feedback via an LLM.
Used to read the contents of uploaded PDF resumes.
A modern Python package manager, used here to create a reproducible virtual environment (pyproject.toml + uv.lock).
"Upload your resume using a clean Streamlit UI, specify the job role (e.g., software engineer), and click Analyze.
The app reads the PDF, sends it to OpenAI, and returns suggestions, strengths, and areas for improvement."
Key features:
- Upload resume (PDF or TXT)
- Specify job role (optional)
- Analyze using OpenAI LLM (GPT-4o-mini)
- Get markdown-formatted feedback and suggestions
- Download or copy results
Follow these steps to run this project locally using uv.
✅ Python 3.10+ is required
git clone https://github.com/BensonNgu/Python-AI-Projects.git
cd Python-AI-Projects/project2Follow the official instructions to install uv, the fast Python package manager used in this project:
Make sure you have Python 3.10+ installed before proceeding.
uv venv && uv pip installThis reads both pyproject.toml and uv.lock to install exact dependencies.
This project requires an OpenAI API key.
Create a .env file in the root directory and add the following:
OPENAI\_API\_KEY=sk-proj-xxxXXXxXxxXX...
📹 Need help finding your OpenAI API key?
Follow this tutorial: How to Get Your OpenAI API Key (YouTube)
🔐 Do not commit your
.envfile — it contains sensitive credentials.
source .venv/bin/activate.venv\Scripts\activateUsing uv:
uv run streamlit run main.py(as long as your virtual environment is activated)
project1/
├── .venv
├── .env
├── main.py
├── pyproject.toml
├── uv.lock
└── README.md
