I Built a Free AI Pain Point Miner

movieman321 pts0 comments

GitHub - joatsaint/pain-point-miner: Point it at a folder of YouTube transcripts, get back a ranked list of what the audience actually asks and struggles with. Free, self-run, no SaaS. · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

joatsaint

pain-point-miner

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

master

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>4 Commits<br>4 Commits

knowledge_base/reports

knowledge_base/reports

.gitignore

.gitignore

BUILD_LOG.md

BUILD_LOG.md

LICENSE

LICENSE

README.md

README.md

build-it-yourself-prompts.md

build-it-yourself-prompts.md

devto-announcement.md

devto-announcement.md

indexer.py

indexer.py

pain_point_extractor.py

pain_point_extractor.py

View all files

Repository files navigation

Pain Point Miner

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.

What it does

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)<br>1. How do I rebuild my processes around what AI makes possible...? — mentioned in 4 video(s)

## Top Pain Points (Most Expressed)<br>1. Existing business models built on inefficiencies... — mentioned in 6 video(s)

What it doesn't do

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.

Project structure

│ └── /<br>│ └── *.md<br>└── knowledge_base/<br>├── index.json # generated by indexer.py<br>└── reports/<br>└── pain_points__.md # generated by the extractor">pain-point-miner/<br>├── indexer.py # scans transcripts/, builds the index<br>├── pain_point_extractor.py # two-pass Claude extraction + aggregation<br>├── README.md<br>├── build-it-yourself-prompts.md # rebuild this with your own AI, 3-phase prompt<br>├── devto-announcement.md<br>├── transcripts/ # your own .md files go here (not included)<br>│ └── /<br>│ └── /<br>│ └── *.md<br>└── knowledge_base/<br>├── index.json # generated by indexer.py<br>└── reports/<br>└── pain_points__.md # generated by the extractor

Setup

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:<br>ANTHROPIC_API_KEY=your_key_here

Put your own transcripts in transcripts///*.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).

Run it

')"">python -c "from indexer import build_index; build_index(verbose=True)"<br>python -c "from pain_point_extractor import run_extractor; run_extractor(group='')"

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.

A real problem this caught

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...

transcripts point pain files indexer miner

Related Articles