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