
MoodTube, Mood-Based YouTube Discovery
A browser extension that replaces keyword search on YouTube with semantic mood search, select how you want to feel, and AI surfaces videos whose content emotionally matches that state.
The Challenge
YouTube's search and recommendation systems are built on engagement signals , watch time, clicks, and view counts, not on what a video actually makes you feel. A user who wants something calming, energising, or deeply motivating has no reliable way to filter for that. They can search keywords, but a title like "morning routine" might be frantic and stressful or serene and meditative with no way to tell from metadata alone.
The brief was to build a browser extension that solves this with AI, allowing users to discover YouTube content by the emotional tone of the video itself, inferred directly from transcripts rather than from titles, thumbnails, or tags.
The Solution
TechEmulsion built MoodTube as a full-stack browser extension with an AI backend. At its core is a semantic search pipeline: YouTube video transcripts are pulled via the YouTube Data API, chunked into segments, and converted into dense vector embeddings using the all-mpnet-base-v2 sentence transformer model. These embeddings are stored in PGVector for fast cosine similarity queries.
When a user selects a mood, that mood label is itself embedded into the same vector space and used as the search query. PGVector returns the transcript chunks , and by extension the videos, whose emotional tone most closely matches the selected mood. LangChain orchestrates the full pipeline from transcript ingestion to ranked result delivery. The browser extension frontend overlays YouTube directly, letting users filter results without leaving the platform.
Supported Mood Filters
Key Features
Mood-Based Search
Users select a mood, Happy, Relaxed, Motivated, Focused, Melancholic, and the system surfaces videos whose transcript semantically aligns with that emotional tone.
Transcript Ingestion
The extension pulls YouTube video transcripts via the YouTube Data API, chunks them, and converts each chunk into a vector embedding using all-mpnet-base-v2.
Semantic Similarity Search
Mood queries are embedded and matched against the stored transcript vectors in PGVector using cosine similarity, returning the most emotionally resonant results.
LangChain Orchestration
LangChain chains the transcript retrieval, embedding, mood mapping, and ranking steps into a single cohesive pipeline that runs on each search request.
Browser Extension UI
The user-facing interface is a lightweight browser extension that overlays YouTube, letting users switch mood filters without leaving the page.
Personalised Ranking
Results are ranked by semantic proximity to the mood embedding, not by view count or watch history, discovery is driven entirely by content tone.
Tech Stack
Outcomes
6 moods
Distinct emotional filters supported at launch
Semantic
Search driven by transcript content, not metadata
Zero UI friction
Works as an overlay, no tab switching
MoodTube demonstrated that AI-powered emotional search is viable at the transcript level without requiring any user profiling or behavioural tracking. Users find content that genuinely matches their intent rather than what an engagement algorithm optimises for. The pipeline is extensible to other video platforms and can be adapted to support personalised mood profiles, custom vocabulary, and multilingual transcripts as future enhancements.