Point this at a YouTube channel's transcripts and it hands back a ranked list of what that audience actually asks and struggles with β no manual comment-scrolling, no guessing.
I spent 25 years in enterprise IT before I ever touched a line of Claude Code. Reading a room full of frustrated people and finding the one real question under the noise isn't a new skill AI gave me β it's the same skill I used for two decades in ops, just pointed at a different kind of ticket queue. This tool automates the scanning part. It doesn't replace the judgment part.
indexer.py
scans a folder of transcript.md
files and builds a lightweight index.pain_point_extractor.py
reads that index, sends each transcript through Claude (Haiku) to pull out questions, pain points, and desired outcomes, then aggregates everything into one ranked report.
Output looks like this:
## Top Questions (Most Asked)
1. How do I rebuild my processes around what AI makes possible...? β mentioned in 4 video(s)
## Top Pain Points (Most Expressed)
1. Existing business models built on inefficiencies... β mentioned in 6 video(s)
It doesn't download transcripts for you, it doesn't touch Reddit or any other source, and it doesn't publish anything. Point it at .md
transcript files you already have. Nothing else.
pain-point-miner/
βββ indexer.py # scans transcripts/, builds the index
βββ pain_point_extractor.py # two-pass Claude extraction + aggregation
βββ README.md
βββ build-it-yourself-prompts.md # rebuild this with your own AI, 3-phase prompt
βββ devto-announcement.md
βββ transcripts/ # your own .md files go here (not included)
β βββ <group-name>/
β βββ <channel-name>/
β βββ *.md
βββ knowledge_base/
βββ index.json # generated by indexer.py
βββ reports/
βββ pain_points_<date>_<group>.md # generated by the extractor
-
Clone this folder.
pip install anthropic -
Get an Anthropic API key: https://console.anthropic.com/settings/keys - Set it as an environment variable, or drop a
.env
file in this folder:
ANTHROPIC_API_KEY=your_key_here
- Put your own transcripts in
transcripts/<group-name>/<channel-name>/*.md
, matching the structure above. Each file needs a plain text header (title, channel, date) followed by the transcript body β no sample transcripts are included in this repo (the ones used to test it were someone else's copyrighted video content, not fit to redistribute).
python -c "from indexer import build_index; build_index(verbose=True)"
python -c "from pain_point_extractor import run_extractor; run_extractor(group='<group-name>')"
Cost: Haiku, a few cents per run for a handful of files. You're paying Anthropic directly for your own usage β nothing routes through me.
Fed it three real AI/tech transcripts as a first test. Two extracted cleanly; one failed with a truncated-JSON error because Haiku ran out of the token budget mid-response. Known limitation, not fixed yet β if you hit it, either raise max_tokens
in _pass1_extract()
or just accept the occasional skip; the aggregation step still runs fine on whatever succeeded.
Free guide for IT professionals figuring out what AI can't replace: https://rskiles.com/the-riddle-of-steel