AI-powered resume analysis and interview preparation tool to help students and job seekers land their dream jobs.
- 🔐 Simple Login - Form-based authentication (email + password)
- Resume Analysis - AI-powered analysis with ATS scoring
- Smart Chatbot - Ask questions about your resume with context memory
- Interview Preparation - Generate personalized interview questions
- Resume Improvement - Get AI-driven suggestions and enhanced resume
- Cover Letter Generator - Create tailored cover letters
- Job Search - Search multiple job boards at once
- Multi-user Support - Personal data storage with Google account integration
-
Groq API Key (Required for AI features)
- Get free API key from Groq Console
- Watch: How to Get Groq API Key
-
MySQL Database (Required)
- Local: MySQL 8.0+
- Heroku: ClearDB or JawsDB add-on
-
Clone the repository:
git clone https://github.com/vivek34561/Resume-Tracking-And-AI-Based-Mock-Interview.git cd Resume-Tracking-And-AI-Based-Mock-Interview
-
Install dependencies:
pip install -r requirements.txt -
Set up environment variables (copy
.env.exampleto.env):cp .env.example .env
-
Configure your
.envfile with:- Groq API key
- MySQL database credentials
-
Set up the database (first run initializes tables automatically).
-
Run the app:
streamlit run app.py
This app is a Streamlit-based web app. The repo now includes everything needed to run on Heroku: Procfile, runtime.txt, and Aptfile (for ffmpeg). Follow these steps from Windows PowerShell.
- Git installed
- Heroku account and Heroku CLI installed
- Python not required on Heroku, but helpful locally
The repo contains:
Procfile— tells Heroku how to start Streamlitruntime.txt— pins Python 3.11.9Aptfile— installsffmpegforstreamlit-webrtc/avrequirements.txt— Python deps
Commit any local changes before deploying.
heroku login
heroku create your-app-nameOrder matters — Python first, then Apt to install ffmpeg.
heroku buildpacks:add -i 1 heroku/python
heroku buildpacks:add -i 2 heroku-community/aptheroku config:set STREAMLIT_SERVER_HEADLESS=true
heroku config:set PYTHONUNBUFFERED=true
# Optional but recommended if you want a default for API usage
# (the UI also lets you paste the key at runtime)
heroku config:set OPENAI_API_KEY=sk-...
heroku config:set JOOBLE_API_KEY=your_jooble_key # if you use JoobleIf your current branch is main:
git push heroku mainIf your working branch is frontend_deploy (as in this repo):
git push heroku frontend_deploy:mainHeroku will detect Python, install dependencies from requirements.txt, install ffmpeg from Aptfile, and launch the web dyno using the Procfile:
web: streamlit run app.py --server.port=$PORT --server.address=0.0.0.0
heroku open
heroku logs --tail- API Keys: The app UI asks for your Groq API key in the sidebar. You can also set
GROQ_API_KEYin Heroku config vars; the UI supports pasting at runtime. - FFmpeg:
Aptfileinstallsffmpegrequired bystreamlit-webrtc/av. If you don’t use voice/video, you can removeAptfileand the apt buildpack. - Build errors on
faiss-cpu/av: Ensure Heroku-22/24 stack and Python 3.11. If issues persist, try pinning versions inrequirements.txt. - Memory/timeouts: Streamlit apps are single-process; keep models lightweight. Prefer hosted APIs (OpenAI, Pinecone) to heavy local compute.
- Region: If you need EU region, create the app with
--region eu.
pip install -r requirements.txt
streamlit run app.pyThen open the printed local URL in your browser.
This project now runs purely as a Streamlit frontend. The previous FastAPI backend has been removed. All features (resume analysis, Q&A, interview questions, improvements, cover letter, job search) run locally via agents.
To run locally:
pip install -r requirements.txt
streamlit run app.pyIf you previously set BACKEND_URL or configured CORS, those are no longer needed.