Skip to content

Spamlyser Pro is a powerful, real-time SMS spam detection platform built with Streamlit and Transformers, backed by 4 custom-trained LLM backbones DistilBERT, BERT, RoBERTa, and ALBERT. It allows users to classify SMS messages as SPAM or HAM, visualise spam distribution, and analyse risky message features with an elegant, responsive UI.

License

Notifications You must be signed in to change notification settings

eccentriccoder01/Spamlyser

SPAMLYSER

πŸ›‘οΈ Advanced SMS Spam Detection & Analysis with Transformers

πŸ“– Table of Contents

πŸ” Overview

Spamlyser Pro is a powerful, real-time SMS spam detection platform built with Streamlit and Transformers, backed by 4 custom-trained LLM backbones DistilBERT, BERT, RoBERTa, and ALBERT. It allows users to classify SMS messages as SPAM or HAM, visualise spam distribution, and analyse risky message features with an elegant, responsive UI.

Thanks Banner Typing SVG

πŸ“Š Project Insights

🌟 Stars 🍴 Forks πŸ› Issues πŸ”” Open PRs πŸ”• Closed PRs πŸ› οΈ Languages πŸ‘₯ Contributors
Stars Forks Issues Open PRs Closed PRs Languages Count Contributors Count

πŸš€ Live Demo

Experience Spamlyser live here:
πŸ‘‰ Spamlyser

Open Source Love svg1 PRs Welcome Built with Love Visitors GitHub Contributors GitHub Last Commit GitHub Repo Size GitHub Total Lines Github

πŸ“Έ Screenshots

🌟 Features

πŸ€– Transformer-Based Classification

  • Compare performance across 4 LLM backbones (DistilBERT, BERT, RoBERTa, ALBERT)
  • Trained on HuggingFace’s sms_spam dataset
  • Real-time predictions with confidence scores

πŸ” Message Feature Analysis

  • Length, word count, digit and symbol ratio
  • URL and phone number detection
  • Uppercase and punctuation overuse analysis

⚠️ Risk Indicators

  • Flags spam indicators (e.g., URLs, ALL CAPS, exclamations, spam keywords)
  • Visual threat insights for each message

πŸ“Š Live Performance Metrics

  • Session-based spam/ham distribution pie charts
  • Model-wise classification count tracking

οΏ½ Recent Additions (GSSoC 2025)

  • Responsive dark mode toggle in sidebar for professional UI
  • Unified blue theme for both dark and light modes
  • Pytest-based unit testing setup (tests/ folder)
  • Dockerfile and CI/CD workflow for easy deployment and automated testing

GSSoC Logo

🌟 Exciting News...

πŸš€ This project is now an official part of GirlScript Summer of Code – GSSoC'25! πŸ’ƒπŸŽ‰πŸ’» We're thrilled to welcome contributors from all over India and beyond to collaborate, build, and grow Spamlyser! Let’s make learning and career development smarter – together! πŸŒŸπŸ‘¨β€πŸ’»πŸ‘©β€πŸ’»

πŸ‘©β€πŸ’» GSSoC is one of India’s largest 3-month-long open-source programs that encourages developers of all levels to contribute to real-world projects 🌍 while learning, collaborating, and growing together. 🌱

🌈 With mentorship, community support, and collaborative coding, it's the perfect platform for developers to:

  • ✨ Improve their skills
  • 🀝 Contribute to impactful projects
  • πŸ† Get recognized for their work
  • πŸ“œ Receive certificates and swag!

πŸŽ‰ I can’t wait to welcome new contributors from GSSoC 2025 to this Spamlyser project family! Let's build, learn, and grow together β€” one commit at a time. πŸ”₯πŸ‘¨β€πŸ’»πŸ‘©β€πŸ’»

🧠 Models Used

Model Repo URL Characteristics
DistilBERT πŸ”— Link Lightweight & Fast
BERT πŸ”— Link Balanced & Standard
RoBERTa πŸ”— Link Robust & Accurate
ALBERT πŸ”— Link Efficient & Compact

πŸ“Ί Video Explanation

For a detailed walkthrough of Spamlyser's features and how to use them, check out this video:

[Insert YouTube Video Link Here]

πŸ› οΈ Technologies Used

Tool/Library Purpose
Python Core backend
Streamlit Web app interface
Transformers Model loading and inference
Hugging Face Hub Model hosting & deployment
Pandas & Plotly Data processing & visualization
Regex, Pathlib Feature engineering & file handling

βš™οΈ Installation and Setup

Clone and run locally using Python and Streamlit.

  1. Clone the repository:

    git clone https://github.com/eccentriccoder01/Spamlyser.git
    cd Spamlyser
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the app:

    streamlit run app.py

πŸš€ Example Usage

Once the app is running, it will open in your browser at
πŸ‘‰ http://localhost:8501

Now you can try Spamlyser in a few different ways:


πŸ”Ή (i). Analyze a sample message

  • Use the dropdown menu in the app.
  • Pick any example message (e.g., β€œYou won a free prize πŸŽ‰β€).
  • Spamlyser will instantly tell you if it’s Spam or Not Spam.

πŸ”Ή (ii). Try your own message

  • Find the text box that says β€œEnter your message here”.
  • Type any message you like (e.g., β€œHey, are we meeting later?”).
  • Hit Analyze β†’ see the live result right away!

πŸ”Ή (iii). Test with the sample dataset

Want to analyze multiple messages at once?

  • Click Browse files in the app.
  • Select the file: sample_data.csv (already included in the project folder).
  • Spamlyser will process the entire file and show which ones are spam vs. safe.

πŸ“Š You’ll see results in a neat table and charts β€” super useful for quick testing!

✨ That’s it β€” you’ve successfully used Spamlyser!

Issue Creation ✴

Report bugs and issues or propose improvements through our GitHub repository's "Issues" tab.

Contribution Guidelines πŸ“‘

  • Firstly Star(⭐) the Repository
  • Fork the Repository and create a new branch for any updates/changes/issue you are working on.
  • Start Coding and do changes.
  • Commit your changes
  • Create a Pull Request which will be reviewed and suggestions would be added to improve it.
  • Add Screenshots and updated website links to help us understand what changes is all about.

Contributing is fun🧑

We welcome all contributions and suggestions! Whether it's a new feature, design improvement, or a bug fix - your voice matters πŸ’œ

Your insights are invaluable to us. Reach out to us team for any inquiries, feedback, or concerns.

πŸ™ Acknowledgments

  • Thanks to all contributors of this project
  • Special shoutout to GirlScript Summer of Code (GSSoC’25) for the amazing community and support!
  • Built with dedication, collaboration, and lots of chai

πŸ“ž Contact

Feel free to reach out with any questions or feedback!

🀝How to Contribute

We love contributions from the community! Whether it's a bug report, a new feature, or a documentation improvement, we appreciate your help.

How to Contribute

  1. Fork the repository and create a new branch for your changes.
  2. Make your changes and ensure everything is working as expected.
  3. Submit a pull request with a clear description of your changes.

Found a Bug?

  • Check the issue tracker to see if the bug has already been reported.
  • If not, open a new issue and provide as much detail as possible.

Have a Feature Idea?

  • We'd love to hear it! Open an issue to discuss your idea.

🀝 Contributing

We welcome contributions from developers of all skill levels! Here are some ways you can contribute:

Ways to Contribute

  • πŸ› Bug fixes - Help us identify and fix bugs
  • ✨ New features - Suggest and implement new functionality
  • πŸ“š Documentation - Improve our docs and guides
  • 🎨 UI/UX improvements - Make the platform more user-friendly
  • πŸ”§ Performance optimizations - Help make Spamlyser faster and more efficient
  • πŸ“± Mobile responsiveness - Improve the mobile experience
  • πŸ”’ Security enhancements - Help keep user data safe

Thank you to everyone who has made Spamlyser better! πŸ’š

πŸ“œ Code of Conduct

Please refer to the Code of Conduct for details on contributing guidelines and community standards.

πŸ€πŸ‘€ Contribution Guidelines

We love our contributors! If you'd like to help, please check out our CONTRIBUTE.md file for guidelines.

Thank you once again to all our contributors who has contributed to Spamlyser! Your efforts are truly appreciated. πŸ’–πŸ‘

Contributors

Contributors

See the full list of contributors and their contributions on the GitHub Contributors Graph.

Show some Red Heart by starring this awesome repository!

πŸ’‘ Suggestions & Feedback

Feel free to open issues or discussions if you have any feedback, feature suggestions, or want to collaborate!

πŸ™Œ Show Your Support

If you find Spamlyser project helpful, give it a star! ⭐ to support more such educational initiatives:

  • ⭐ Starring the repository
  • 🐦 Sharing on social media
  • πŸ’¬ Telling your friends and colleagues
  • 🀝 Contributing to the project

πŸ“„ License

This project is licensed under the MIT License - see the License file for details.

⭐ Stargazers

🍴 Forkers

πŸ§‘β€πŸ’»Project Admin:

Sagnik Chakraborty
Sagnik Chakraborty

πŸ‘¨β€πŸ«Mentors – Spamlyser (GSSoC'25)

Role Name GitHub Profile LinkedIn Profile
Mentor 1 Shaanif Ahmed shaanif-ahmed

Glowing Star Give us a Star and let's make magic! Glowing Star

Mirror Ball

πŸ‘¨β€πŸ’» Built with ❀️ by Spamlyser Team

❀️ Sagnik Chakraborty and Contributors ❀️

Open an Issue | 🌟 Star on GitHub | πŸš€ Live Demo

⬆️ Back to Top

Ready to show off your coding achievements? Get started with Spamlyser today! πŸš€

About

Spamlyser Pro is a powerful, real-time SMS spam detection platform built with Streamlit and Transformers, backed by 4 custom-trained LLM backbones DistilBERT, BERT, RoBERTa, and ALBERT. It allows users to classify SMS messages as SPAM or HAM, visualise spam distribution, and analyse risky message features with an elegant, responsive UI.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 19