InboxGuard is a simple yet powerful spam classification web application. It leverages machine learning to detect whether a given SMS message is Spam or Not Spam. Built with Flask and scikit-learn, it provides an intuitive web interface where users can input any message and receive a prediction instantly.
Live Demo: https://inboxguard.onrender.com/
- Detects spam messages using Natural Language Processing (NLP)
- Trained using Multinomial Naive Bayes and TF-IDF Vectorizer
- Clean and minimal web interface built with Flask
- Deployed on Render for easy public access
- Lightweight, modular, and easy to extend
| Input Page | Prediction Page |
|---|---|
![]() |
![]() |
- Data Preprocessing: The SMS text data is cleaned and converted into numerical features using
TfidfVectorizer. - Model Training: A
Multinomial Naive Bayesclassifier is trained on the preprocessed data. - Prediction Pipeline: The model and vectorizer are serialized with
pickleand used in a Flask web app to make real-time predictions. - Deployment: The app is deployed using Render and accessible via a public URL.
This project is developed in the master branch. The files include:
spam-classifier/ │ ├── app.py # Main Flask application ├── spam_spam_classifier.ipynb # Jupyter Notebook for preprocessing and model training ├── model.pkl # Trained spam classification model ├── vectorizer.pkl # Saved TF-IDF vectorizer ├── templates/ │ └── index.html # Frontend HTML template ├── static/ │ └── style.css # Optional CSS styles ├── Screenshot 2025-05-14 140607.png # Screenshot: Input page ├── Screenshot 2025-05-14 140645.png # Screenshot: Output page ├── requirements.txt # List of dependencies ├── .gitignore # Git ignore file ├── nltk_data # NLTK data for text processing └── README.md # Project documentation

