Skip to content
Boris Novichkov
ResumeGitHub ↗
ENRU
All work

YouTube Comments Explorer

Thousands of comments say a handful of things — this finds out which

Pulls every comment under a video through the YouTube Data API, embeds them, clusters the embedding space, and has an LLM name each cluster. The result is a Streamlit dashboard where a 4,000-comment thread becomes eight things people actually said. The embedding backend is pluggable — OpenAI, a local Ollama model, or MLX on Apple silicon.

Shipped
Role
Author
Period
Mar 2025 — Jul 2026
the pipeline
collect
YouTube Data API → SQLite, videos, comments and replies
embed
OpenAI, a local Ollama model, or MLX on Apple silicon — one interface
reduce
PCA, UMAP or t-SNE, chosen in the UI rather than in code
cluster
scikit-learn over the reduced space
name
an LLM labels each cluster from its most representative comments
read
Streamlit plots the clusters and what each one is saying

The interesting part was never the clustering — it was that a comment section is a distribution, not a list, and no interface treats it as one.