--- title: Smart Web Monitor emoji: 🔍 colorFrom: blue colorTo: purple sdk: docker pinned: false app_port: 7860 --- # 🔍 Smart Web Monitor **AI-Powered Website Change Detection System** Monitor websites for changes automatically with AI-driven content analysis. Perfect for tracking competitor updates, news sites, or any web content you care about. ## ✨ Features - 🕐 **Automated Monitoring**: Check websites every 5 minutes automatically - 📸 **Content Hash Detection**: Track changes via MD5 hash comparison - 🤖 **AI Sentiment Analysis**: Powered by DistilBERT model from HuggingFace - 🔍 **Manual Checks**: Instant verification anytime - 📊 **History Tracking**: Review all past checks - 🎯 **Multi-URL Support**: Monitor unlimited websites ## 🤖 AI Technology This project uses **real HuggingFace Transformers**: - Model: `distilbert-base-uncased-finetuned-sst-2-english` - Task: Sentiment Analysis (POSITIVE/NEGATIVE classification) - Purpose: Detect tone changes in web content over time ## 🚀 Quick Start 1. **Add URLs**: Go to "Monitor Management" tab and add websites 2. **Auto-Check**: System automatically checks every 5 minutes 3. **Manual Check**: Use "Manual Check" tab for instant verification 4. **View History**: Check "History" tab to see all results ## 📋 Use Cases - 📰 News monitoring - 🏢 Competitor tracking - 💰 Price change alerts - 📝 Content update detection - 🔔 Government notice tracking ## 🛠️ Technology Stack - **Frontend**: Gradio 4.x - **Backend**: Python 3.11 - **Browser Engine**: Chromium (for advanced scraping) - **Deployment**: HuggingFace Spaces (Docker SDK) ## ⚙️ Configuration Set these environment variables in HuggingFace Spaces settings: ```bash # Optional: Custom check interval (default: 5 minutes) CHECK_INTERVAL=300 # Optional: Maximum URLs to monitor (default: 50) MAX_URLS=50 ``` ## 📊 How It Works 1. **Hash-Based Detection**: Each check computes MD5 hash of page content 2. **Background Worker**: Daemon thread runs checks every 5 minutes 3. **History Persistence**: Recent 100 checks stored in memory 4. **Smart Scheduling**: Distributed checks to avoid rate limiting ## 🔒 Privacy - No data is stored permanently - All checks run in-memory - No external logging or tracking - Your URLs stay private ## 📝 License MIT License - Free for personal and commercial use ## 🤝 Contributing Found a bug? Have a feature request? Open an issue on GitHub! --- **Made with ❤️ by the HuggingFace Community**