Skip to content
TechEmulsion logo
TechEmulsion
Services
PortfolioBlogCareersContact Us
MoodTube browser extension, mood-based YouTube video search using AI and semantic embeddings

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

Happy
Relaxed
Motivated
Focused
Melancholic
Energetic

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

LangChain
all-mpnet-base-v2
PGVector
PostgreSQL
YouTube Data API
Python
FastAPI
React

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.