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:

  1. Recognizes: a text classifier gives a scam probability.
  2. 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.
  3. Explains: plain-language reasons for the risk level (LOW, MEDIUM, HIGH).
  4. 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.

Share this project:

Updates

Submission history