About JobShield

Built to protect
Malaysian job seekers

JobShield is a web-based fake job scam detection system, developed as a final year project at Universiti Teknologi MARA (UiTM). It combines machine learning, scam-pattern rules and AI to help people spot job fraud before it costs them.

The problem

Job scams are a growing threat to Malaysian graduates.

Online platforms, social media and chat groups are now the main way people find jobs. They are also where fraudulent postings spread, leading to lost money, stolen identities and real distress.

Fresh graduates and students are the easiest targets. They often have not seen enough real job ads to notice the warning signs, and scam ads are written to look convincing and urgent.

Upfront payment
Victims are asked to pay a "registration" or "training" fee before they start.
Unrealistic pay
Very high daily or weekly pay for basic tasks such as data entry.
Personal data grab
Asks for IC number, bank details or passwords before any interview.
No official channel
Only a WhatsApp number or shortened link, with no company email or website.
How it works

From a job ad to a risk score

Whatever form the ad comes in, JobShield turns it into text first, then runs the same analysis on it.

1

Submit

Paste text, upload an image, enter a job link or scan a QR code. The Telegram bot accepts the same four inputs.

2

Extract the text

Images are read with OCR, QR codes are decoded, and job pages are fetched and cleaned so only the ad text remains.

3

Analyse

The NLP model, scam rules, structure check and location validation each give a score, combined into one risk score.

4

Explain

You see the risk level, the exact red flags found and AI advice on what to do next. Results are saved in your history.

Detection layers

Four layers, one score

A scam that slips past one check is likely to be caught by another. Each layer contributes a fixed share of the final risk score.

40%
of the score

NLP model

TF-IDF turns the ad text into features. A Logistic Regression classifier trained on 17,880 EMSCAD job ads estimates how likely the ad is fraudulent.

30%
of the score

Rule engine

Seven English scam checks: unrealistic salary, urgent language, upfront payment, personal information requests, no experience needed, vague description and suspicious links.

20%
of the score

Structure check

Looks at how the ad is built: how detailed it is, whether key information is present, and whether the contact details look genuine.

10%
of the score

Location validation

The Google Geocoding API checks that the job location is a real place. A location that does not exist is a warning sign.

Plus AI advice and a chat assistant

After the score, Groq's Llama 3.3 70B writes advice for the specific red flags found in your ad. The chatbot on every page answers questions about job scams. The AI explains the result but does not change the score.

Performance

How well does it work?

The NLP model was tested on 3,576 job ads it had never seen, 173 of them fraudulent. The training data has 17,880 ads, of which 4.8% are fraudulent.

NLP model results
Accuracy 97.20%
Recall (scams caught) 90.17%
ROC-AUC 98.38%
F1-score 75.73%
Precision 65.27%

Five-fold cross-validation F1: 0.7096 ± 0.0107.

What that means in practice
156
scams caught
17
scams missed
3,320
real ads passed
83
real ads flagged

The model is tuned to catch scams, even if that means some real ads get flagged too. For that reason JobShield works as a warning tool. Treat a high score as a reason to check the employer yourself, not as a final verdict.

Input channel tests
Link scraping
14 / 14
URLs handled as expected, including blocked and login-only sites
QR decoding
93.8%
30 of 32 images decoded. Noisy images were the weak point
Image OCR
77.9%
Average character accuracy. Clean text is read almost perfectly, busy posters less so
Scam rules
84.2%
16 of 19 test ads flagged with exactly the expected warning signs

Good to know

  • •Works on job ads written in English.
  • •Sites that need a login, such as Facebook and LinkedIn, cannot be opened. Paste the text instead.
  • •OCR accuracy drops on busy, multi-column posters.
  • •A result is guidance, not proof. Always verify the employer.
Technology

Built with modern tools

Laravel 13
Web application
Flask
Python analysis engine
MySQL
Database
Tailwind CSS
Interface
scikit-learn
Machine learning
Tesseract OCR
Text from images
pyzbar
QR decoding
Telegram Bot API
Chat interface
Groq AI
Llama 3.3 70B advice
Google Geocoding
Location validation
EMSCAD
Training dataset
TF-IDF + LR
Classifier
Developed by
SA Siti Alya Hanisah

Siti Alya Hanisah Binti Latif

Student ID: 2025142021
Bachelor of Netcentric Computing (Hons) · Universiti Teknologi MARA (UiTM)
Project details
Subject: Final Year Project (CSP650)
Semester: Sept 2026 – Feb 2027
Supervisor: Dr. Nor Aimuni Binti Md Rashid
Type: Final Year Project

Ready to try it?

Paste a job ad, upload a screenshot, enter a link or scan a QR code, and get your result in seconds.

Start Free Analysis