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:

  1. Detects toxic messages instantly
  2. Scores severity (low/medium/high)
  3. Classifies labels like toxic, insult, identity hate, etc.
  4. Stores messages per user
  5. 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

  1. Making Plotly charts fully responsive (very hectic task)
  2. Integrating a transformer model without slowdowns
  3. Creating clean UI for both chat and dashboard (conflicts within my own mind)
  4. Handling user-specific data safely (safety first)

Accomplishments that we're proud of

  1. A complete working product with ML, auth, chat UI, and dashboard
  2. Smooth real-time toxicity detection
  3. Clean, professional analytics design
  4. Real database + actual user behaviour tracking
  5. A sense of accomplishment and a bit of confidence boost too.

What we learned

  1. Practical Flask architecture
  2. Deployable ML integration
  3. Visualizing real user data
  4. UI/UX for dashboards

What's next for FreeSpeech

  1. Toxic word highlighting
  2. AI safe rewrite suggestions
  3. Teacher/admin panel
  4. Weekly behaviour heatmaps
Share this project:

Updates

Submission history