Web Development⭐ Featured
Sentry: Phising and Scam Web Detector

Worked as backend of an app that helps people find out whether a message or link they received is a scam. Users submit a chat or SMS message, or a URL, and the API returns a verdict of safe, suspicious, or scam with a confidence score. I built it with FastAPI and PostgreSQL and integrated two Machine Learning models into it: a Naive Bayes + TF-IDF model that classifies messages as normal, promotional, or fraudulent, and a Random Forest model that scores URLs on structural features such as length, IP usage, HTTPS, and suspicious symbols. The API also has a complete authentication flow: email OTP verification on sign-up, JWT access tokens paired with httpOnly-cookie refresh tokens, Argon2 password hashing, and password reset. Registered users can view their detection history with pagination and manage it, while visitors without an account get three free detections per day, tracked by a hashed IP address. The codebase is organized into domain-based modules with a clear router–service–model separation, uses Alembic for database migrations, and is covered by 51 automated tests written with pytest.