Anatoli Kot

Anatoli Kot

Software Engineer · Cybersecurity

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

SMS ListenerClassifierVirusTotal CheckRisk ScoreRetrain
  1. 01An Android SMS listener captures incoming messages on-device as they arrive.
  2. 02Message text runs through a TensorFlow.js classification model trained to recognize phishing language patterns.
  3. 03Any links in the message are cross-checked against the VirusTotal API for known malicious URLs.
  4. 04Flagged messages are shown to the user with a risk score, and their correct/incorrect feedback is logged to Firebase.
  5. 05That feedback feeds future retraining, closing the loop between real-world usage and model accuracy.
GitHubLive Demo

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.
SMSNet architecture and feature overview
System Status
>_anatoli@portfolio|OS: PortfolioOS (Next.js 16.3.4)Kernel: React 19.2.8CPU: TurbopackProjects: 14Languages: TypeScript, JavaScript, Python, Java