A secure, sentiment-aware feedback collection platform built using Streamlit, NLTK, and Matplotlib. Users can create feedback rooms, submit feedback anonymously, analyze sentiments, and download results β all without needing an account.
- β Create unique feedback rooms with a title and description
- βοΈ Submit anonymous feedback (with profanity and PII masking)
- π Analyze feedback using:
- Average sentiment (0β5 scale)
- Sentiment pie chart (positive/neutral/negative)
- Top keywords bar chart
- AI-generated summaries (semantic and contextual)
- πΌ Vote on feedback (upvote/downvote)
- π₯ Import & merge feedback from CSV
- π€ Export feedback to CSV
- π€ Auto-summarization using keyword frequency and NLTK sentiment
Install the required Python packages:
pip install streamlit pandas matplotlib nltkNLTK will download resources at runtime:
nltk.download("stopwords")
nltk.download("vader_lexicon")streamlit run main.pyBy default, Streamlit will launch on:
http://localhost:8501
π rooms/ # Stores all feedback CSVs and room metadata
βββ [room_id].csv # Feedback data
βββ [room_id]_meta.csv # Metadata (title + description)
π main.py # Streamlit app script
π README.md # Project documentation
- Personal Info Masking: Phone numbers and emails are masked.
- Profanity Filter: Basic offensive words are censored automatically.
- Stateless Voting: Votes are stored in CSV but not tied to IPs or users.
- No Authentication: Fully anonymous by design.
- Streamlit
- NLTK
- Matplotlib
- π‘ Powered by your creativity!
This project is open-source and free to use for educational and non-commercial purposes.
Made with β€οΈ by Vaibhav Rawat