Build this tool: YouTube Video URL Extractor Product folder name: YouTube Video URL Extractor PRODUCT BRIEF Paste any YouTube channel (@handle, channel URL, or UC… id). Pull every public upload — Shorts and long-form — with title + watch URL + duration + published date. Filter All / Shorts only / Long only. Export CSV (Excel-friendly UTF-8 BOM) or copy URLs / report text. CONTEXT Difficulty: Easy Category: People & Blogs / Creator business No Gemini — YouTube Data API key only (shared CaseyBuilds youtube_settings.json). WHY THIS TOOL Creators need a full channel URL dump for audits, affiliate scans, description cleanup, and cross-post planning — without scraping Studio by hand. STACK (standalone desktop app) - Python 3 + tkinter GUI — standalone desktop tool (not a website). - Include: main .py, requirements.txt, run_*.bat, build_exe.bat (PyInstaller), casey_youtube_setup.py, YOUTUBE_SETUP.txt, exports/, thumbnails/, VIDEO_SCRIPT.txt. - Smoke-test core logic offline without requiring live API keys when possible. GUI RULES - Casey dark theme (navy / amber / teal). - Brand lockup CASEY BUILDS IT + hero title split (white + amber accent). - How to use: one muted sentence under the title. - Left: API key (masked Save + help), channel field, Fetch, filter, Export / Copy. - Right: Treeview of Type · Length · Title · URL · Published. - No ttk.Combobox — use DarkSelect / Menubutton for filter. - WM_DELETE_WINDOW on close. - Background thread for fetch; status line for progress. API - Shared key via casey_youtube_setup (LOCALAPPDATA\CaseyBuilds\youtube_settings.json). - channels.list → uploads playlist → playlistItems.list (paged) → videos.list batches of 50 for duration + privacy. - Short = duration ≤ 180 seconds (current YouTube Shorts max). Long = everything else. - Skip private/deleted playlist placeholders. EXPORT - CSV columns: title, url, video_id, type, duration, duration_sec, published_at, privacy, channel_title, channel_id, channel_url. - UTF-8 with BOM for Excel. Saved under exports\. DEMO / SCRIPT - On camera: Casey Builds It / @CaseyBuildsIt / https://caseybuildsit.com only.