About ClipPlane
ClipPlane is a full-text transcript search engine covering every Linus Media Group video. Search across 10,000+ videos from LTT, ShortCircuit, TechLinked, and more with precise timestamp linking.
How It Works
Transcript Ingestion
Auto-generated captions are downloaded from YouTube (via yt-dlp) and Floatplane (via VTT API). Each transcript is segmented into timestamped chunks and indexed with SQLite FTS5.
Full-Text Search
SQLite FTS5 with porter stemming enables phrase search, proximity (NEAR), boolean operators (AND/OR/NOT), and wildcard matching. Results are ranked by relevance with snippet highlighting.
SponsorBlock Integration
Sponsor segments from the community SponsorBlock database are overlaid on transcripts, so you can identify and skip ad reads directly from search results.
Floatplane Support
Includes FP Exclusive content and WAN Show VODs not available on YouTube, with full transcript search and topic segmentation for long livestreams.
Tech Stack
- Backend: Python, FastAPI, SQLite (WAL mode, FTS5)
- Ingestion: yt-dlp, Floatplane API, SponsorBlock API, Filmot
- Frontend: Vanilla JS, Tailwind CSS, Chart.js
- Deployment: Docker Compose + Caddy (auto-HTTPS)
- Search: FTS5 porter stemming, segment-level indexing
Features
- Timestamp-linked search results — click to jump to the exact moment
- Advanced search operators: phrases, NEAR proximity, wildcards, boolean
- Channel filtering and date range search
- Clip sharing with rich social previews (OG/Twitter cards)
- WAN Show topic segmentation for navigating long livestreams
- ASR correction for tech terms (NVIDIA, AMD, Framework, etc.)
- Export search results as JSON or CSV
- Keyboard navigation (j/k in transcript viewer, / to focus search)
API
ClipPlane exposes a JSON API for programmatic access:
/api/search?q=term— full-text search with filters/api/segment-search?q=term— segment-level search with precise timestamps/api/transcript/{"{video_id}"}— full transcript with segments/api/browse— paginated video listing/api/channels— channel list with metadata/api/stats— database statistics/api/export?q=term&format=csv— export results