Work / Project · Published · 2026-10-19
TopicPulse
Explainable topic scoring from public counts, relative to each channel.

The problem
Raw view counts favour big channels. TopicPulse scores topics from rates relative to each channel’s own recent median and shows exactly which videos feed each part of a score.
What it does
- Synthetic sample channels or CSV import with a data-quality report.
- Topic clusters with visible evidence; five weighted score components with a full breakdown.
- Opportunity cards you approve, defer or reject; optional local backend for the YouTube Data API with a quota ledger and 30-day retention.
Engineering choices
- All analysis in the browser; the backend exists only for the official API, its quota and retention rules.
- The API key stays server-side and is kept out of logs (a review finding).
Tested results
- 37 Vitest and 21 pytest tests; 7 Playwright tests.
- Independent acceptance review on 2026-10-19: 10 defects fixed; every cluster score recomputed independently from its breakdown.
- Published 2026-10-19: CI green on the first run on Linux, GitHub Pages deployed, live check passed.
Last recorded verification 2026-10-19; latest recorded commit de4a801. The full commands and outcomes are in the repository's docs/test-report.md.
Stack
Candid limitations
- The live YouTube API path is untested with a real key.
- Scores describe observed public counts; they are not forecasts.
How it was made
Directed and reviewed by the owner; specification, code, tests and documentation written with Claude Code (AI). A separate Claude Code session that did not write the code then re-ran every check and fixed what it found; that is an AI review, not a human code audit. See the repository's AI_ASSISTANCE.md.