Inspiration
Digital classrooms make communication easier, but they also expose students to toxic messages and online bullying. Most schools don’t have real-time moderation tools. I wanted to build something simple, fast, and useful — a system that helps students communicate better and gives teachers clear insights.
What it does
FreeSpeech is an AI-powered chat moderator that:
- Detects toxic messages instantly
- Scores severity (low/medium/high)
- Classifies labels like toxic, insult, identity hate, etc.
- Stores messages per user
- Provides a clean analytics dashboard with: a. Toxic vs Safe ratio b. Label distribution c. Toxicity score trends d. Displays Recent harmful messages
It promotes safer, more mindful communication.
How we built it
Backend: Flask + SQLAlchemy Frontend: HTML, CSS, JS, Bootstrap Auth: Flask-Login, hashed passwords ML Model: unitary/toxic-bert Charts: Plotly (Pie, Bar, Line)
Challenges we ran into
- Making Plotly charts fully responsive (very hectic task)
- Integrating a transformer model without slowdowns
- Creating clean UI for both chat and dashboard (conflicts within my own mind)
- Handling user-specific data safely (safety first)
Accomplishments that we're proud of
- A complete working product with ML, auth, chat UI, and dashboard
- Smooth real-time toxicity detection
- Clean, professional analytics design
- Real database + actual user behaviour tracking
- A sense of accomplishment and a bit of confidence boost too.
What we learned
- Practical Flask architecture
- Deployable ML integration
- Visualizing real user data
- UI/UX for dashboards
What's next for FreeSpeech
- Toxic word highlighting
- AI safe rewrite suggestions
- Teacher/admin panel
- Weekly behaviour heatmaps
Log in or sign up for Devpost to join the conversation.