A full-stack application that allows users to upload their resume (PDF), processes it using AI (OpenAI GPT-4 Vision), and provides detailed feedback on improvements and mistakes. The backend is built with FastAPI, MongoDB, and Redis (Valkey), and the frontend is built with Streamlit.
- Upload Resume: Upload your PDF resume via a simple web interface.
- AI Review: The backend uses OpenAI's GPT-4 Vision to analyze your resume and provide actionable feedback.
- Status Tracking: See the processing status in real time.
- Feedback Display: View AI-generated feedback, including markdown and tables, directly in the frontend.
- Backend: FastAPI, MongoDB, Redis (Valkey), RQ, OpenAI API
- Frontend: Streamlit
- Containerization: Docker Compose
git clone <your-repo-url>
cd AI_Powered_Resume_ReviewerCreate a .env file in the root directory and add your OpenAI API key:
OPENAI_API_KEY=sk-...Use Docker Compose to start MongoDB, Redis (Valkey), and the dev container:
docker compose up -d(Inside the dev container or your Python environment)
pip install -r requirements.txtbash run.shThe backend will be available at http://localhost:8000
In a new terminal:
streamlit run streamlit_app.pyThe frontend will be available at http://localhost:8501
In another terminal (inside the dev container):
rq worker --with-scheduler --url redis://valkey:6379This will process uploaded resumes in the background.
- Open the Streamlit app in your browser.
- Upload your PDF resume.
- Wait for processing (status will update automatically).
- View detailed AI feedback and suggestions.
AI_Powered_Resume_Reviewer/
├── app/
│ ├── main.py
│ ├── server.py
│ ├── db/
│ ├── queue/
│ └── utils/
├── streamlit_app.py
├── requirements.txt
├── run.sh
├── docker-compose.yaml
└── README.md
- MongoDB/Redis connection errors: Ensure Docker containers are running and accessible.
- OpenAI API errors: Check your API key and usage limits.
- File upload issues: Ensure
/mnt/uploads/is writable by the backend.
MIT License