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