{"slug": "offer-lens", "title": "Offer lens", "summary": "A developer built OfferLens, an open-source job-scam detection tool that combines a fine-tuned DistilBERT classifier, Google Safe Browsing URL checks, and suspicious-keyword analysis into a weighted risk score (0.6 × ML + 0.2 × keywords + 0.2 × URL). The React and FastAPI application returns an explained risk assessment, safety recommendations, a checklist, and a suggested safe reply for submitted job offers and recruiter messages. The developer notes the score is a decision-support signal rather than proof of fraud and argues open-weight models allow independent inspection of the detection logic.", "body_md": "*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine](https://dev.to/challenges/hacktoberfest-week4-2026-10-26)*\n\nJob scams have evolved. They no longer look like obvious spam messages filled with spelling mistakes. They can look like legitimate internship offers, professional recruiter messages, or exciting opportunities from companies that may not even exist.\n\nFor students and early-career developers, one convincing message can be enough to lose money, expose personal information, or fall into a recruitment scam.\n\n**OfferLens is an AI-powered job scam detection tool designed to expose the red flags hidden inside seemingly legitimate job offers.**\n\nUsers can submit job descriptions, recruiter messages, emails, or documents for analysis. OfferLens examines suspicious language, contextual patterns, and potentially dangerous URLs to produce a risk score and actionable recommendations.\n\nThe goal is not just to label a message as suspicious. It is to help users understand *why* it might be dangerous and what they should do next.\n\nThe connection to **Ghost in the Machine** is simple: sometimes, the most dangerous thing is not what a message says on the surface, but what hides beneath it.\n\nOfferLens attempts to make those invisible warning signs visible.\n\nTry analyzing a suspicious-looking internship offer and examine the signals behind its risk assessment.\n\nExplore the source code, inspect the implementation, and contribute to the project:\n\nThe project brings together machine learning, URL safety checks, and explainable risk scoring to tackle a real-world problem affecting job seekers.\n\nOfferLens combines multiple detection signals rather than relying on a single keyword filter.\n\nThe system is designed around three main components:\n\n**1. Machine Learning Detection**\n\nA fine-tuned DistilBERT model analyzes the contextual meaning of job-related messages to identify patterns associated with fraudulent offers.\n\nThis matters because suspicious messages can be professionally written. Contextual classification can detect patterns that basic keyword matching might miss.\n\n**2. URL Safety Detection**\n\nExtracted URLs can be checked using Google Safe Browsing to identify known unsafe destinations. This adds another layer of scrutiny when a recruiter message directs someone to an unfamiliar website.\n\n**3. Suspicious Keyword Analysis**\n\nThe system examines indicators such as requests for upfront payments, unrealistic compensation, artificial urgency, and attempts to move conversations to unverified channels.\n\nThese signals contribute to a combined risk score:\n\n`Risk Score = 0.6 × ML + 0.2 × Keywords + 0.2 × URL`\n\nThe components are weighted to combine contextual machine learning with explicit warning signs and URL safety information.\n\nOfferLens can then present a risk assessment alongside explanations, safety recommendations, a checklist, and a suggested safe reply.\n\nThe application uses a React-based frontend and a FastAPI backend for machine learning inference, with Python handling the detection logic.\n\nImportantly, a risk score is a decision-support signal, not proof that a recruiter is fraudulent. Users should still verify employers and job offers independently.\n\nAI-powered security tools should not be black boxes that demand blind trust.\n\nOpen innovation makes it possible for developers to inspect the detection logic, understand how different signals contribute to a result, improve the implementation, and experiment with better approaches.\n\nUsing an open-weight machine learning model also provides greater control over model deployment and fine-tuning than relying entirely on a closed, hosted AI API.\n\nFor a project like OfferLens, that flexibility matters:\n\nOpen source does not automatically make an AI system accurate or secure. It makes independent inspection and improvement possible.\n\nThat distinction matters when building tools intended to protect people.\n\nThe most unsettling scams are not necessarily the ones that look suspicious.\n\nThey are the ones that look like the opportunity you have been waiting for.\n\nFor a student looking for an internship, a message promising a great role can feel like a breakthrough. A request for a small registration fee might seem harmless. A link to an unfamiliar website might look like just another step in the hiring process.\n\nThat is where the real problem begins: when the warning signs are present, but the opportunity looks too good to question.\n\nOfferLens is my attempt to bring those hidden signals to the surface before someone makes a costly mistake.\n\n**Sometimes, the ghost in the machine is the risk we cannot see until it is too late.**\n\nBuilt by [@geekyNads](https://github.com/geekyNads).", "url": "https://wpnews.pro/news/offer-lens", "canonical_source": "https://dev.to/likhitnaidu/offer-lens-2j45", "published_at": "2026-10-27 18:08:47+00:00", "updated_at": "2026-10-27 18:12:22.688654+00:00", "lang": "en", "topics": ["artificial-intelligence", "machine-learning", "natural-language-processing", "ai-tools", "ai-safety"], "entities": ["OfferLens", "DistilBERT", "Google Safe Browsing", "React", "FastAPI", "Hacktoberfest"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/offer-lens", "markdown": "https://wpnews.pro/news/offer-lens.md", "text": "https://wpnews.pro/news/offer-lens.txt", "jsonld": "https://wpnews.pro/news/offer-lens.jsonld"}}