Skip to content

CS222-UIUC/fa25-team029

Repository files navigation

YouTube STEM Filter Extension (STEM/Time)

A Chrome extension that helps learners stay focused on STEM content on YouTube by prioritizing STEM videos, adding a persistent STEM-only toggle, and requiring a brief justification (reviewed by an AI chatbot) before watching non-STEM content.

Pitch (presentation intro summary):

  • Teenagers spend ~2 hours/day on YouTube, and a large portion is non-productive.
  • Our extension nudges users toward STEM learning by making STEM content the default and adding lightweight friction for distractions.
  • It does this via a STEM filter UI, metadata-based classification, and a justification chatbot gate.
    Source used in pitch: https://explodingtopics.com/blog/screen-time-for-teens

Team

Member NetID Role
Pranit Mathur pranitm2 Backend/AI (YouTube API, storage, model integration)
Amitabh Gulati amitabh6 Backend/AI (YouTube API, storage, model training/integration)
Anshul Ananda anshuld2 Frontend (API connection, settings)
Victor Musyutin vmisy Frontend (UI/Sidebar, settings)

Functionality

  1. Persistent STEM filter bar at the top of YouTube to toggle STEM-only mode.
  2. Metadata screening: classify videos using title/tags/description (optionally transcript).
  3. Non-STEM click interception: open a chatbot justification modal instead of navigating.
  4. Justification review: model returns allow/deny + friendly message.
  5. Optional integrations: onboarding questions + calendar context for smarter decisions.

Technical architecture

High-level system diagram (text)

[Chrome Extension (MV3)]
  - Content script injects STEM bar + scans DOM
  - Intercepts non-STEM clicks -> opens modal
  - Uses Chrome Identity for Google Sign-In
  - Calls backend via HTTPS (fetch)
            |
            v
[Backend API Server (Flask)]
  - Verifies Firebase/Google ID token
  - Calls YouTube Data API for metadata
  - Classification endpoint (STEM vs non-STEM)
  - Justification endpoint -> calls model/LLM
  - Persists history in Firestore/MongoDB
            |
            v
[AI Justification Service]
  - Model/LLM returns {allow|deny, score, message}
  - Guardrails + fallback rules

About

fa25-team029 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •