← All work

Independent product / ScamCheck

A suspicious link. An explanation you can act on.

Threat intelligence, URL heuristics, and AI explanation come together in a plain-language link checker.

My role

Solo full-stack build, API integration & deployment

Project status

Deployed web app

The result you can inspect

AI findings can add risk. They cannot lower the score established by deterministic sources.

System overview

How the pieces connect.

  1. 01

    Gather evidence

    Threat feeds and URL heuristics run concurrently.

  2. 02

    Add interpretation

    AI identifies social-engineering signals.

  3. 03

    Enforce the boundary

    Risk can increase, but AI cannot downgrade it.

A simplified view of the documented architecture.

The short version

Context before code.

The problem

Non-technical people get caught by phishing and scam links every day and have no trustworthy, fast way to verify a URL before clicking or handing over personal and payment details. Existing tools are either too technical or buried in security-vendor dashboards. ScamCheck gives a plain answer in seconds — and teaches users what makes a link suspicious so they get better at spotting scams themselves.

What I built

Three deterministic sources run concurrently and aggregate into a single 0–100 risk score with documented thresholds: Google Web Risk (Google's live phishing/malware blocklist), VirusTotal (verdicts from 70+ engines), and in-house heuristics with no external call — newly-registered domains via WHOIS, leetspeak-aware typosquatting by edit distance, raw-IP hosts, excessive subdomains, expanded URL shorteners, abused TLDs, punycode/homograph characters, embedded-credential tricks, and invalid HTTPS certs. When the user pastes the surrounding message, a fourth AI source flags social-engineering patterns. The defining design choice is the guardrail: AI can only escalate risk, never downgrade it — enforced mechanically through the scoring math (AI findings carry non-negative weights and the model never emits a standalone 'safe' verdict), not by trusting the model. Sources that are down or rate-limited are reported as unavailable rather than failing the request, and a clean result says 'no known threats found,' never 'this link is safe.'

What it demonstrates

A working, deployed consumer tool that proves out a multi-source detection pipeline with a genuinely safe AI integration — one where the LLM adds insight and plain-language explanation without ever being able to overrule the deterministic threat data. It demonstrates applied LLM engineering with hard guardrails, real third-party API integration, and explicit abuse and cost controls, not a prompt-wrapper demo.

For a closer look

The decisions behind it.

Tools used on this project

Continue the conversation

Working on something similar?

Explore it with Jay ↗Talk to Justin ↗
Next project FinAlly
top