CampusSafe Match is a dual-mode, AI-powered Resume-to-Job analysis platform. Built for hackathons, it serves two distinct audiences natively from a single, powerful execution engine:
- 👔 HR Recruiters: Instantly screens applicant resumes against job descriptions to assign Match Scores, Eligibility checks, and vital Scam Risk warnings.
- 🎓 Students: Acts as an educational coach by dropping rigid corporate grading and replacing it with detailed "Learning Roadmaps," identifying exact skill deficiencies, and estimating growth timelines.
Everything is wrapped in a highly-polished, responsive dark-themed Streamlit dashboard with intelligent Plotly visualizations!
- Dual UI Architecture: Radically alters the UX and data presentation conditional on whether the user selects HR Mode or Student Mode.
- Hybrid NLP Engine: Utilizes local
sentence-transformersmodels (Hugging Face) for deep semantic understanding, while autonomously falling back to ascikit-learnTF-IDF keyword vectorizer if local memory constraints are hit. - Scam Protection: Ingests company email domains and Job Description texts to warn users if the posting exhibits common job board phishing behaviors.
- Automated Coaching: "Student Mode" auto-generates comprehensive Learning Roadmaps comprising actionable "First Steps" and "Project Suggestions" strictly calibrated around their missing requirements.
- Persistent History: Every analysis is permanently logged locally into an SQLite database (
campussafe.db) which surfaces to an interactive Data Table in theHistorypage for historical lookup.
- Frontend: Streamlit, Custom CSS, Plotly
- AI/ML Core: Hugging Face SentenceTransformers (
all-MiniLM-L6-v2), Scikit-Learn - Data Processing: Pandas, NLTK-like custom RegEx matching, PyPDF, Python-docx
- Persistence: SQLite (Local Database)
-
Clone the Repository / Enter the Directory
cd campussafe_match -
Set up a Virtual Environment (Recommended)
python3 -m venv venv source venv/bin/activate -
Install Dependencies
pip install -r requirements.txt
-
Launch the Application! Upon first launch, the app will briefly download the local HuggingFace AI model into cache.
streamlit run app.py
| File | Purpose |
|---|---|
app.py |
The main execution entrypoint housing the core presentation layout and mode-shifting UI forms. |
analysis.py |
Contains the raw mathematical matching algorithms, semantic execution, and roadmap dictionary builders. |
database.py |
Initializes and connects the local .db SQLite logger. |
ui.py |
Houses the external Plotly metric dashboard generators and specialized layout CSS blocks. |
utils.py |
Safely parses PDF/DOCX file binary drops and runs the academic format vs resume validation scoring logic. |
pages/1_History.py |
The secondary Streamlit page that builds out a searchable history log. |