🧠 Inspiration
In India, almost everyone uses WhatsApp, including older people who often aren't fluent in English. This makes them easy targets for scammers who send messages with complex or deceptive language. My own family members would regularly forward messages asking if they were scams, but I wasn’t always available to help. Friends told me they had the same experience. I wanted to build something that could step in and help, especially in Indian languages that users are comfortable with. I also saw this as a great opportunity to explore large language models and build something end-to-end using AI.
💡 What it does
IndicLang Fraud Shield is a lightweight scam detection assistant for WhatsApp and Telegram. Users forward a suspicious message or screenshot, and the system responds in their preferred Indian language with a clear verdict — “Scam,” “Maybe,” or “Safe” — along with reasoning and advice. It uses a hybrid approach: rule-based heuristics catch obvious patterns, while Google's Gemini LLM handles nuanced language analysis and localization. Supported languages - Hindi, Bengali, Gujarati, Kannada, Malayalam, Marathi, Telugu, Tamil, Urdu, English.
🛠️ How I built it
The backend runs on Google Cloud Functions with Firestore as the database. I used a monorepo managed by pnpm and automated deployments with GitLab CI/CD, supporting separate staging and production environments.
Heuristics check for patterns like UPI IDs, suspicious links, or urgent phrases.
Gemini LLM analyzes the message using few-shot prompting, with heuristics as context.
The final score is a blend of heuristic and LLM output.
Gemini also translates the response into the user’s preferred Indian language.
For screenshots, Google OCR extracts the text before analysis.
🚧 Challenges I ran into
Setting up the WhatsApp bot was more difficult than expected. Twilio and Meta APIs require number registration, message template approval, and compliance with strict rules, which slowed me down. To speed up development and testing, I built a Telegram bot with identical functionality.
Another challenge was building the screenshot analysis pipeline. It required integrating OCR cleanly with the LLM workflow while preserving metadata and supporting multi-language text.
🏆 Accomplishments that I'm proud of
Built a complete, serverless AI pipeline from scratch
Delivered multilingual scam detection with both text and image support
Created a working WhatsApp and Telegram bot interface
Learned and deployed on GCP and GitLab CI/CD for the first time
Added language personalization to improve accessibility for non-English users
📚 What I learned
This was my first time using GCP, Firestore, Gemini, and GitLab together in a real project. I learned how to design scalable cloud functions, manage multilingual AI prompts, and combine LLMs with rules for more trustworthy output. I also saw firsthand the complexity of messaging APIs and the importance of user experience in critical tools like fraud detection.
🚀 What's next for IndicLang Fraud Shield
I plan to:
Add a feedback loop to improve classification over time
Support more Indian scripts and dialect variations
Publish a simple dashboard for analytics and tuning
Built With
- express.js
- firestore
- gemini-(vertex-ai)
- gitlab
- google-cloud
- google-cloud-functions
- google-cloud-vision-ocr
- node.js
- pnpm
- telegram
- twilio
- typescript
Log in or sign up for Devpost to join the conversation.