Inspiration
AntiFish started from personal stakes. One of my former professors was scammed out of $10,000, and it was a blunt reminder that these attacks target everyone. At the same time, my grandparents are constantly worried about whether a text, email, or phone call is legitimate, and they often don’t have a single place to check something quickly and confidently.
We wanted one place that combines detection + live awareness + education instead of treating them as separate tools. Phishing causes billions in losses each year precisely because awareness hasn’t reached everyone. AntiFish aims to close that gap with an end-to-end experience: from detecting a threat to understanding it to learning how to avoid the next one.
What it does
AntiFish is a phishing detection and education web app with three core parts:
- Scam Risk Checker: paste a message (email/SMS) or describe a call and get a risk score with clear reasons (why it looks suspicious, what signals triggered).
- Scam Tracker Dashboard: a “Downdetector-like” feed of trending scam campaigns so users can see what’s circulating right now and detect how similar other scams are to theirs.
- Awareness Hub: curated phishing news + practical resources so users learn patterns and safer habits over time.
How we built it
- ML risk scoring: Trained a TF-IDF + Logistic Regression classifier on public scam/phishing datasets to produce a baseline phishing probability, then blended it (60/40) with a lightweight rule-based overlay — flagging signals like urgency language, gift card requests, credential prompts, and suspicious links — into a final risk band (LOW / SUSPICIOUS / HIGH)
- Web app + API: a front-end UI that calls a backend API for scoring, storing submissions, and powering the tracker feed.
- Awareness content: structured “news items” and evergreen “resources” so the app isn’t just a checker; it’s a continuous learning surface.
Challenges
- Balancing false positives vs. false negatives: we tuned thresholds so obvious scams flag hard, while still giving safe guidance for gray-area messages.
- Getting explainability right: we focused on human-readable reasons instead of just a score.
What’s next
- Add screenshot/URL analysis, better link reputation checks, and richer “next steps” flows (bank/identity protection checklists).
- Improve model robustness with more diverse datasets and better calibration.
- Expand the tracker with automated clustering of similar scam templates.
Built With
- fastapi
- firebase
- gemini
- github
- python
- railway
- react
- scikit-learn
- typescript
Log in or sign up for Devpost to join the conversation.