Inspiration
Online scams are a massive problem in India, with citizens losing over Rs 1,750 crore to cyber fraud in 2024 alone. From fake UPI payment requests to KYC scams impersonating banks like SBI and HDFC, millions of people — especially those less tech-savvy — fall victim every day. We wanted to build a tool that anyone can use to instantly verify if a message is a scam, right where they receive it.
What it does
ScamShield is an AI-powered scam detection platform that analyzes suspicious messages in real-time. Users can:
- Paste any suspicious message (SMS, WhatsApp, email) into the web dashboard for instant analysis
- Use the Telegram bot to forward suspicious messages and get an immediate risk assessment
- View threat intelligence through an analytics dashboard showing scam trends, risk distributions, and detection timelines
The system identifies 12+ scam categories common in India — UPI fraud, KYC scams, lottery scams, bank impersonation, job scams, investment schemes, and more. Each analysis returns a risk score (0-100), identified red flags, scam type classification, and a plain-language explanation.
How we built it
- Backend: Python FastAPI server handling both the REST API and Telegram bot integration
- AI Engine: Claude API (Anthropic) with a specialized system prompt trained on Indian scam patterns, supporting multilingual detection (Hindi, Tamil, Telugu, Bengali, Marathi, etc.)
- URL Safety: Google Safe Browsing API integration to verify URLs found in messages
- Frontend: Vanilla JavaScript dashboard with Chart.js for real-time threat visualization
- Database: SQLite with SQLAlchemy async ORM for storing analysis history
- Bot: python-telegram-bot for the Telegram integration, running in a background thread alongside the web server
Challenges we ran into
- Getting Claude to consistently return valid JSON without markdown formatting required building a robust fallback parser
- Running the Telegram bot polling loop alongside FastAPI's async event loop needed careful threading
- Balancing sensitivity — setting thresholds so legitimate bank notifications don't trigger false positives while still catching sophisticated scams
Accomplishments that we're proud of
- The system accurately detects scams across multiple Indian languages, not just English
- URL checking adds a second layer of verification beyond just text analysis
- The dashboard provides real threat intelligence that could help communities identify trending scam patterns
What we learned
- The sheer variety and sophistication of scams targeting Indian users
- How to architect a system that combines LLM analysis with deterministic safety checks (Safe Browsing API)
- Real-time data visualization for security monitoring
What's next for ScamShield
- WhatsApp Business API integration for direct message scanning
- Community reporting features to crowdsource scam intelligence
- Browser extension for detecting phishing pages in real-time
- Regional language support expansion with voice message analysis
Built With
- chart.js
- claude
- fastapi
- google-safe-browsing
- javascript
- python
- sqlite
- telegram-bot

Log in or sign up for Devpost to join the conversation.