YouTube Comment Intelligence
Helping make sense of what an audience is discussing without reading YouTube comments one by one.
The project started as an experiment to understand responses to YouTube videos discussing social and political issues in Indonesia. It later grew into a web application for collecting, monitoring, and analyzing comments through project-specific categories.
Transforming raw YouTube comments into structured sentiment, specific issues, stance, and action intent breakdowns.
The Problem
A YouTube comment section can reveal how people respond to a topic, but reading a large number of comments manually becomes difficult to do consistently.
Positive, neutral, and negative labels also leave a lot unanswered. Two negative comments may be discussing completely different things. One viewer may criticize the government, another may support the video while criticizing a specific policy, and someone else may be asking for action.
What is the audience actually talking about behind the comment count?
I wanted the analysis to explain more than whether a comment sounded positive or negative.
From Notebook Experiment to Monitoring Application
I started the project in a Jupyter Notebook. Comments were collected through the official YouTube Data API, then I explored Indonesian text processing such as normalization, tokenization, slang handling, and stemming. I also tested different classification approaches during the early experimentation stage.
Once the analysis flow became clearer, I moved it into a web application so the process could be repeated without manually running notebook cells each time. The project gradually changed from a model experiment into a comment-monitoring workflow.
Notebook Experiment
- YouTube Data API Crawling
- Text Normalization & Slang Handling
- Classification Tests
Repeatable Monitoring Application
- Project Setup & Video Tracking
- Project-Specific Taxonomies
- Local LLM Inference & Interactive Dashboard
From Video to Analysis
A user creates a project and adds the videos they want to monitor. The application collects comments through the official YouTube Data API and stores the original records before analysis.
The first crawl establishes a baseline. Later monitoring runs focus on new or updated comments instead of processing the entire history again.
Create Project
Add Video
Collect Comments
Define Taxonomy
Run Analysis
Review Dashboard
The same workflow can be reused as new comments appear instead of rebuilding the analysis from the beginning.
The 4 Analysis Dimensions
Each analyzed comment is mapped across four distinct analytical layers.
Sentiment
Overall emotional tone categorized into positive, neutral, or negative.
Specific Issue
The specific topic or policy area being raised in the comment.
Stance & Perspective
The underlying position taken (e.g. supporting video, criticizing government, neutral analysis).
Action Intent
The action demanded or expressed (e.g. policy change call, inquiry, protest call, neutral observation).
Moving Large-Scale Analysis to Local AI
During earlier experiments, I used a cloud LLM to help interpret comments that were difficult for simpler approaches, especially informal Indonesian and sarcasm. That worked for smaller experiments, but API limits became a constraint as the number of comments increased.
I moved large-volume comment analysis to Sahabat-AI running locally through Ollama. Gemini remained useful for a different task: helping create taxonomy drafts. This reduced the need to make a cloud-model request for every individual comment.
The model choice changed because the workload changed.
Sahabat-AI + Ollama
Handles large-volume local comment analysis for sentiment, issue, stance, and action intent without per-comment cloud API costs.
Google Gemini API
Used targeted cloud calls specifically for generating project-specific taxonomy drafts from project descriptions and sample comments.
System Boundaries & Scope
- •Collects comments via official YouTube Data API v3
- •Supports incremental monitoring runs to reduce API overhead
- •Classifies comments across 4 distinct analysis dimensions
- •Allows manual human override of model classification errors
- •Does not claim general public opinion representation for Indonesia
- •Does not auto-publish analysis without human review options
- •Does not bypass YouTube API quotas with illegal scrapers
- •Does not hallucinate sentiment data outside acquired comment text
Interface & Feature Showcase
Main Analytics Dashboard
Overview of monitored videos, comment volume, sentiment distribution, top issues, and quick monitoring controls.
Key Engineering Outcomes
From Notebook to Repeatable Platform
Comments can be collected and analyzed through the same workflow without rerunning notebook cells.
Multi-Dimensional Intelligence
Analysis captures sentiment, issue, stance, and action intent alongside raw comment evidence.
Controlled AI & Human Review
Sahabat-AI handles local inference while Gemini assists taxonomy drafts, with human correction over all outputs.