softwaresecurity
SMSNet
Android app that scans incoming SMS messages and flags likely phishing attempts using an AI classification model, with a feedback loop that improves accuracy over time.
Role
Developer — B.Sc. final year project
Problem
SMS-based phishing is a common mobile security threat. SMSNet detects suspicious messages on-device and helps users recognize phishing attempts before they act on them.
Tech Stack
React Native (Expo)TypeScriptFirebaseVirusTotal APITensorFlow.jsAndroid SMS Listener
How It Works
- 01An Android SMS listener captures incoming messages on-device as they arrive.
- 02Message text runs through a TensorFlow.js classification model trained to recognize phishing language patterns.
- 03Any links in the message are cross-checked against the VirusTotal API for known malicious URLs.
- 04Flagged messages are shown to the user with a risk score, and their correct/incorrect feedback is logged to Firebase.
- 05That feedback feeds future retraining, closing the loop between real-world usage and model accuracy.
What I Learned
- –First hands-on experience shipping an ML model on-device (TensorFlow.js) instead of calling a hosted inference API.
- –Learned to design a feedback loop so the model keeps improving after deployment, not just at training time.
- –Integrating a third-party threat-intel API (VirusTotal) meant treating an external service as unreliable by default — timeouts, rate limits, and malformed responses all needed handling.
