Track: AI + Cybersecurity
The problem
Students and job seekers are targeted by fake job and internship offers: fake checks, upfront fees, requests for personal data, and pressure to move to private chat apps like Telegram. Most people have no quick way to check a message before they reply.
Who it helps
Students and early-career job seekers.
What it does
Paste a job post or recruiter message. JobScam Guard then:
- Recognizes: a text classifier gives a scam probability.
- Verifies: rule checks look for payment requests, fake-check schemes, free email addresses, a sender domain that does not match the company, and moves to private chat apps.
- Explains: plain-language reasons for the risk level (LOW, MEDIUM, HIGH).
- Responds: clear next steps, where to report, and a safe reply the user can send.
How I built it
- Model: TF-IDF (word and two-word n-grams) with Logistic Regression, trained on about 17,880 public job postings (4.8% fake). I used class weighting because the data is very imbalanced.
- Rules: weighted checks in Python. Each flag shows the evidence and why it matters.
- Final risk: a blend of the model probability and the rule score. Strong rule evidence can set HIGH on its own.
- App: Streamlit, deployed online. Python, scikit-learn, pandas.
Results
On a held-out 20% test set, the fake class scored precision 0.84, recall 0.91, F1 0.87 (157 fake postings caught, 16 missed, 31 real postings wrongly flagged). I report precision and recall instead of accuracy, because most postings are real and accuracy would look high even for a useless model. Our own test on 15 messages we wrote: FILL-IN-RESULT.
Limitations
The dataset is older, so the model may do worse on short modern recruiter texts. Some learned terms reflect dataset quirks and may unfairly flag legitimate roles such as data entry. Rules can be avoided by a careful scammer. The tool gives a risk signal, not proof, and tells users to verify the employer on its official website.
Real-world impact
It gives students a fast first check, plus clear next steps and a safe reply, which lowers the chance of losing money or personal data to a scam.
What's next
Test on more recent scam messages, add a user feedback button to collect new examples, and add checks for link and domain age.
Log in or sign up for Devpost to join the conversation.