Build this tool: Console Drama Timeline Tracker - Auto-Updating Platform Beef Tracker Product folder name: Console Drama Timeline Tracker PRODUCT BRIEF A lightweight site/widget that auto-aggregates and timestamps console drama headlines (from RSS/news sources) into a scrolling timeline per platform, letting creators quickly find "what happened this week" for video hooks, with embeddable widget for other creators' sites. CONTEXT Difficulty: Medium Category: Science & Technology TREND HOOK Recurring PS5/Xbox/emulator drama videos (Dillon Latham, jacobweeby) show consistent high-view engagement bait around console rivalry news VIDEO ANGLE Short: "I built a tool that tracks every PS5 vs Xbox drama moment automatically." Long: build the RSS aggregator + timeline UI in Cursor, demo pulling a video idea straight from the tracker. WHY THIS TOOL Content-ops tool for other creators (research automation) — very on-brand for "build tools that save creators time." STACK (standalone desktop app) - Python 3 + tkinter GUI — standalone desktop tool (not a website). - Even if the brief says "web app" / "site", ship a Python desktop GUI for v1. - Include: main .py, requirements.txt, run_*.bat, build_exe.bat (PyInstaller), and an exports/ folder for saved output. - Smoke-test core logic offline without requiring live API keys when possible. GUI RULES - Clean, readable dark or light UI — pick one consistent palette (no brand lock-in required). - Clear app title / hero name derived from the product folder name. - Short muted "How to use: …" line under the title (one sentence: what to enter → what button → what you get). - Prefer real inputs (paste URL / fields / text) over fake demos. - No sample dropdowns or canned demo datasets unless explicitly requested. - Dropdowns: NEVER ttk.Combobox (unreadable on Windows dark UI). Use DarkSelect (preferred, no grab_set) OR dark-styled tk.OptionMenu (BG_ELEVATED / TEXT / active #243056 / BORDER+TEAL highlight; style the popup menu the same way). Never use grab_set (breaks close behavior on Windows). - Handle window close with WM_DELETE_WINDOW. - One job per tool; working copy/export; avoid overbuilt dashboards. APIs & KEYS - Never hardcode API keys or secrets into source or the packaged EXE. - Store keys in a local user settings JSON under %LOCALAPPDATA%\\ (or a single shared settings file if multiple tools share a key). - Label each key field clearly in the UI (e.g. YouTube API key vs Gemini API key). - Local/offline logic must work first; APIs are optional enhancements where possible. - Call network APIs in a background thread; update the UI with after(...). On failure, keep local results and show a clear error. Gemini / LLM - Not required for v1 (this is primarily an audit / organize / calculate tool). - Skip LLM unless a later version needs generated copy. IMPLEMENTATION NOTES - Match the product brief closely; keep v1 focused on one job. - Support Copy and/or Export of results where useful (TXT/CSV/JSON as fits the tool). - Validate inputs; show empty/error states clearly. - If scoring/grading: show score + short explanation of what failed/passed. - If generating copy: show multiple variants when the brief asks for them. OUTPUT - Runnable standalone Python app - requirements.txt + run bat + optional EXE build script - In-app how-to line - Example of typical input → output (in README or comments, not fake UI samples) DEMO INPUT → OUTPUT (from live scan) - Field Platform: PlayStation - Field Time window: This week - Field Search headlines: price - Field Filters: Casey Builds It sample - Primary button name: Refresh feeds - Example result lines: 1. PS5 firmware patch sparks performance debate 2. Game Pass price talk reignites console war threads 3. Switch online outage timeline for creators 4. Exclusive delay rumor - what we actually know 5. Series library shakeup headlines this week 6. Emulation legal chatter hits creator feeds