A real-time misinformation monitoring and alerting system built using Kafka, Python, and NLP. Analyzes streaming text data to detect potential rumors, emotionally charged narratives, and emerging misinformation trends with explainable alerts.
🟡 Actively under development || REBUILDING Read Disclaimer
Some features are limited due to API rate limits and compute constraints. See Limitations for details.
- Kafka-based streaming architecture
- Handles high-throughput message ingestion
- Designed to scale horizontally
- Sentiment analysis for emotional tone detection
- Keyword & pattern-based filtering
- Early-stage misinformation signal detection
- Detects sudden spikes in sensitive keywords
- Flags emotionally charged or fear-inducing content
- Assigns risk levels to messages
- Real-time alerts for suspicious content
- Desktop notifications
- Console-based live monitoring
Each alert includes:
- ✅ Triggered keywords
- ✅ Sentiment score
- ✅ Reason for flagging
- ✅ Risk classification
┌──────────────┐
│ Data Source │
└──────┬───────┘
│
▼
┌──────────────────┐
│ Kafka Producer │
└──────┬───────────┘
│
▼
┌──────────────────┐
│ Kafka Consumer │
└──────┬───────────┘
│
▼
┌──────────────────────────┐
│ NLP + Risk Analysis │
│ Engine │
└──────┬───────────────────┘
│
▼
┌──────────────────┐
│ Alert System │
└──────┬───────────┘
│
▼
┌──────────────────────────┐
│ Live Monitoring / │
│ Dashboard │
└──────────────────────────┘
| Component | Technology |
|---|---|
| Backend | Python |
| Streaming | Apache Kafka |
| NLP | TextBlob (currently) |
| Alerts | Plyer + system notifications |
| Architecture | Event-driven, scalable |
| Future Scope | ML-based classification, dashboard UI |
| Feature | Status |
|---|---|
| Kafka-based streaming | ✅ Complete |
| Keyword detection | ✅ Complete |
| Sentiment analysis | ✅ Complete |
| Alert system | ✅ Complete |
| Risk scoring | ⚙️ In progress |
| Trend detection | ⚙️ In progress |
| Dashboard UI | 🛠 Planned |
| ML-based rumor detection | 🛠 Planned |
- Python 3.8+
- Apache Kafka (running locally or remotely)
- pip package manager
-
Clone the repository
git clone https://github.com/biv720/rumorradar.git cd rumorradar -
Install dependencies
pip install -r requirements.txt
-
Configure Kafka
- Start Zookeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
- Start Kafka:
bin/kafka-server-start.sh config/server.properties
- Start Zookeeper:
-
Run the system
python main.py
Misinformation spreads faster than verification.
RumorRadar aims to:
- ✅ Detect rumor formation early
- ✅ Provide explainable alerts
- ✅ Assist in analyzing information flow
- ✅ Act as a foundation for responsible AI-based monitoring tools
This project is built with scalability, transparency, and ethical AI principles in mind.
This project is currently under active development.
Due to:
- API rate limits
- Compute constraints
- Free-tier infrastructure
Some features (such as large-scale message ingestion, advanced ML inference, and long-term trend analysis) are intentionally limited in the current version.
These constraints are documented and will be addressed in future iterations.
- Add trend-based rumor scoring
- Implement message clustering
- Add web-based dashboard
- Improve NLP with transformer models (BERT/RoBERTa)
- Visualize misinformation spread patterns
- Deploy scalable cloud version (AWS/GCP)
- Integrate graph-based analysis
- Add multi-language support
Contributions are welcome! This project is open to improvements and new ideas.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Bivraj A Computer Science Student | AI & Design Enthusiast
Focused on:
- AI-driven systems
- Real-time data processing
- Ethical and explainable AI
- Scalable backend architectures
Current uploaded files are very old version, the v2 files are corrupt and is being worked on.
This project is intended for educational and research purposes only.
The system provides signals and insights, but human judgment and verification remain essential.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with 🧠 for a more transparent information ecosystem
