-
🛡️
Emergency Player Asks intent guardrails (v3.0.83)Premium headset now only aggregates premium / elite / pro headset asks. USB audio, microphone quality, VR headset, and regional console/store asks are separated into their own correct buckets so the executive Player Product Asks view no longer mixes unrelated posts.
-
⚖️
Balanced header logo spacing (v3.0.82)The upper-left logo button now matches the rendered logo size at each breakpoint, preventing left-edge overflow and aligning the logo spacing with the right side of the header.
-
✨
High-resolution header logo polish (v3.0.81)The upper-left Xbox logo now uses the supplied high-resolution 2026 sphere artwork, both header logos are vertically centered, and the previous dark square/card treatment behind the logos has been removed.
-
🧠
Executive-ready Player Asks aggregation (v3.0.80)Near-duplicate asks such as Xbox handheld, handheld portable, and portable Xbox now collapse into one canonical ask across Feedback Portal, Reddit, and public/social sources. Strong text matches also override the search bucket, so hardware, platform, and game asks land in the right executive category.
-
🎯
Exclusives + edge-case asks route correctly (v3.0.79)Player asks mentioning exclusives, first-party, or exclusivity now bucket into Game asks (they were the #1 mis-classified Platform ask). Brazil console availability, "bring back Kinect", and disc-drive asks from RSS / Reddit / social now consistently land in Hardware asks.
-
🗂️
Cleaner Player Product Asks buckets (v3.0.78)Backward compatibility now lands under Game asks (where players actually file it), regional console availability lands under Hardware asks, and the three buckets are relabeled Game asks / Platform asks / Hardware asks to match the team's vocabulary.
-
🎯
Hidden global focus filter (v3.0.77)Click the Xbox logo to narrow the report to Controllers, Headsets, PC Accessories, Consoles, or Handhelds across Command Center, Sentiment, Products, Compare, and Technologies.
-
📬
Feedback capture portability (v3.0.76)Feedback storage now repairs stale packaged data paths, finds synced SharePoint folders across OneDrive shortcut/sync shapes, and keeps a local backup while warning if SharePoint sync is unavailable.
-
📝
Feedback analysis doc (v3.0.75)In-app feedback now refreshes a shared feedback-analysis.md report with LLM-powered grouping when configured, plus deterministic fallback grouping and a manual npm refresh command.
-
🏷️
Cleaner Player Product Asks source pills (v3.0.74)Feedback Portal-sourced asks now show the single green Xbox Player Feedback Portal pill plus upvotes, without the duplicate Microsoft Feedback Portal platform tag.
-
⏱️
Recent-first risk ranking (v3.0.73)Sentiment and Command Center top risks now prioritize evidence from the last two-to-three weeks and clearly mark older-only risks as aging watch items.
-
⌨️
PC Accessories grouped by type (v3.0.72)Compare now organizes PC Accessories into PC Headsets, Keyboards, Mice, and Other PC Accessories inside the dropdown, making it easier to find the right peripheral without scanning one mixed list.
-
☀️
Light mode readability pass (v3.0.71)Light mode now remaps hard-to-read report panels, technology cards, Product Asks, Competitive Analysis, podcast panels, and utility pills to light-safe text, borders, and surfaces.
-
🧠
Executive-grade matching intelligence (v3.0.71)Competitive Analysis now uses the higher-intelligence executive model for matching/report calls and applies same-category guardrails so headsets compare to headsets, not controllers.
-
🎧
Headset filters and grouping (v3.0.71)Technologies > Headsets now has price bands, and Compare separates console-first Headsets from PC Accessories while keeping PC-first headsets with keyboards and mice.
-
✅
Xbox timestamp pill fit (v3.0.70)Xbox-highlighted podcast timestamp buttons are wider and the timestamp column adapts so the play icon, Xbox mark, and time fit cleanly inside the button.
-
🎮
Xbox podcast timestamp highlights (v3.0.69)Podcast episodes tagged as Xbox-discussed now highlight the matching timestamp buttons in darker green with a small Xbox mark so the relevant moment is easier to find.
-
⏱️
Precise podcast timestamps (v3.0.68)Podcast topic links now use transcript cues to start at the actual conversation, including skipping pre-ad teasers when the real discussion resumes later.
-
🧠
Dynamic Player Feedback Portal clustering (v3.0.67)Player Product Asks now dynamically clusters clearly duplicative Feedback Portal posts by normalized title/description intent tokens, category, and hardware surface, so similar requests can roll up even when they are not pre-authored examples.
-
🌐
Gyro aggregation + translated portal posts (v3.0.66)Gyro, gyroscope, and motion-control Feedback Portal asks now roll into one accessory-hardware master ask, and non-English portal titles/summaries auto-translate to English when translation is available.
-
🧩
Aggregated Player Feedback Portal asks (v3.0.65)Similar Xbox Player Feedback Portal posts now roll up into one master ask with combined upvotes and an expandable list of the individual posts, including disc-drive/Helix, Chatpad, and Hall Effect/TMR controller-stick requests.
-
💬
Player Feedback Portal pills (v3.0.64)Player Product Asks sourced from the Xbox Player Feedback Portal now show a green source pill plus the portal upvote total directly on the ask card.
-
📈
Full Player Voice ask capture (v3.0.63)Player Product Asks now scrapes all available Xbox Player Voice ideas plus comments, removes the top-five category cap, and sorts the full ask set by votes, comments, trending signal, and source strength.
-
💬
Xbox Player Voice data source (v3.0.62)Product Asks and sentiment reports now ingest Microsoft Feedback Portal Xbox Player Voice ideas, including vote and comment signal, so direct customer requests are part of the scrape.
-
📊
Player Product Asks tab (v3.0.61)Player Product Asks now lives behind its own Products category button instead of cluttering Accessories, with a New hardware filter for accessories, console, and handheld asks.
-
🎙️
Podcast cohort filter (v3.0.59)The Podcasts page now has top-of-page filter buttons to switch instantly between all podcasts, Apple top 10 overall gaming shows, and top 10 Xbox-focused shows.
-
🧪
Technology news relevance filter (v3.0.58)Technologies feeds now require real hardware, gaming, electronics, research, or accessibility context before a broad term like tactile can surface, blocking celebrity and lifestyle false positives.
-
🌐
Translated headline repair (v3.0.57)Rows marked translated now defensively check the visible headline; if it is still Spanish or another non-English language, the app falls back to the preserved English title and re-queues translation when no English title is available.
-
🌐
Command Center translation fix (v3.0.56)Top industry news now uses the translated headline renderer, shows "Translated from Spanish" on translated rows, and rejects bad cached translations that would turn English headlines into non-English text.
-
🎙️
Product Asks + deeper coverage (v3.0.55)The Products tab now scans public social signals for Xbox fan asks and sorts them into Game remakes, Platform changes, and New hardware; podcasts also track top 10 overall gaming shows plus top 10 Xbox-focused shows.
-
🧭
Single-icon top navigation (v3.0.54)Command Center, Sentiment, Products, Compare, Competitive Analysis, Podcasts, and Technologies now render one normalized Lucide icon per button instead of stacking emoji plus SVG icons.
-
🌐
Translate every non-English source (v3.0.53)Article titles from detected non-English sources now auto-translate to English when translation is available, every detected non-English source gets a Translate option, and translated titles show a "Translated from" language note.
-
🏷️
Specific Xbox podcast tags (v3.0.52)Podcast episode badges now distinguish Xbox Hardware Discussed, Xbox Games Discussed, and Xbox Platform Discussed based on console/accessory, game/franchise, or platform/value/experience cues.
-
🚀
Quiet latest-version launch (v3.0.51)Clicking New version available now hides the update banner while the old copy closes and the latest EXE launches, so users are not left staring at a stuck updating window during the handoff.
-
✅
Unique leak-family counting (v3.0.50)Executive Command Center leak validation now counts unique Xbox leak families instead of duplicate article rows, including Spanish-language duplicates about the same Elite Series 3 and Cloud Controller stories.
-
🧭
Readable Region dropdown options (v3.0.49)The standardized Region dropdown now forces high-contrast text/background styling for every menu option so Global, US, Canada, EMEA, APAC, and LATAM remain visible in Sentiment and related tabs.
-
🌎
Region picker + article translation buttons (v3.0.44)Product Line Sentiment now uses one readable Region dropdown instead of separate low-contrast region chips. Non-English articles and Sentiment evidence rows also get a Translate button that can translate on demand when an LLM provider is configured, or toggle back to the original text after translation.
-
🌐
International translation + adaptive tech lens (v3.0.43)Sentiment reports now pull international non-English news/search snippets, translate them to English when an LLM provider is configured, preserve original language/source metadata, and show translation badges in reports and exports. Technologies also adds an Accessible / Adaptive accessories lens for Xbox Adaptive Controller, Adaptive Joystick, Sip/Puff, switch inputs, assistive joysticks, and remapping.
-
🔗
Clickable evidence + Technologies filters (v3.0.42)Sentiment PM reports now make community voices, endorsements, PM proof rows, price evidence, and PowerPoint citations clickable. The Technologies tab also gains Accessories lenses for Controllers, Headsets, Keyboards, Mouse, and Charging while retaining Console and Handheld views.
-
🧭
UX cleanup and sentiment scoring transparency (v3.0.41)Command Center is cleaner, Sentiment reports now explain row-weighted scoring, Accessories Rumors uses active Xbox leak signals, Compare groups product types horizontally, Podcasts centers Add a podcast and restores a prominent Xbox Discussed badge, and the main nav stays sticky while scrolling.
-
📊
Standalone sentiment PM dashboards (v3.0.39)Sentiment product searches now generate a self-contained PM decision dashboard matching the Actium-style reference, with executive guidance, audience/pricing/competition, PM signals, action register, sentiment themes, source voices, and export-ready PowerPoint/email/PDF output.
-
⚠️
Visible leak reports + delete fix (v3.0.38)Sentiment report search now appears on the top-level Sentiment tab, the Command Center groups today's Elite Series 3 and Cloud Controller leaks as separate executive signals, and saved Competitive Analysis deletes use stable cache keys instead of failing with an unknown error.
-
🔎
Sentiment product search reports (v3.0.37)The Sentiment tab can now search any product, leak, or rumor and generate export-ready reports across news, Reddit, YouTube, podcasts, price expectations, audience fit, likes, concerns, and evidence links.
-
⚠️
Xbox leak watch + Reddit Trending restore (v3.0.36)Dedicated Xbox leak/rumor feeds now feed the Command Center first, Reddit Trending falls back to Reddit's RSS feeds when JSON is blocked, and priority queue/evidence/lifecycle details now live on each risk or opportunity card instead of separate dashboard panels.
-
🧪
Adjacent innovation scouting (v3.0.35)The Technologies tab now tracks non-gaming technology breakthroughs — haptics, EMG/neural input, smart materials, advanced batteries, displays, thermals, flexible sensors, spatial computing, and on-device AI — and maps them to potential Xbox/accessory applications.
-
🔠
Uppercase app controls (v3.0.34)Primary navigation, shortcut chips, and button-style app chrome now use uppercase labels for a stronger Xbox dashboard feel.
-
🎚️
Header title and shortcut polish (v3.0.33)The header title is vertically centered below the top toolbar, and the Command Center shortcut row now uses one Region picker plus larger focused-view buttons.
-
🧹
Cleaner Command Center chrome (v3.0.32)The Command Center search row no longer repeats Data as of or version, and the focused-view shortcuts have shorter labels with larger buttons for easier scanning and clicking.
-
🧭
Full-width navigation tabs (v3.0.31)The duplicate header search chip was removed, leaving the Command Center search as the single visible search surface with Ctrl+K still available. The main page tabs are larger, centered, and fill the full app width for easier navigation.
-
🎛️
Centered header controls (v3.0.30)The top control row is now centered between the two logos, and the Voice of the Customer title sits closer underneath the buttons for a tighter, more balanced header.
-
⚠️
Xbox leak and news escalation (v3.0.29)Command Center now elevates Xbox leaks and rumors into "What needs attention today," adds a dedicated leaks/rumors watch section, and adds a top industry news section below the dashboard hero. Header branding also uses a transparent Voice of the Customer logo with both logos scaled up 1.5x.
-
🎙️
Header logo balance (v3.0.28)The Xbox logo in the upper-left header now fills the available space more completely, and the new Voice of the Customer microphone logo appears on the upper-right at the same size for a more balanced branded header.
-
🧭
Command Center heuristic UX fixes (v3.0.27)The Command Center now follows the UX heuristics review: focused-view chips are clearly labeled as navigation shortcuts, PC Accessories is included as a first-class view, the hero copy is PM-facing instead of design-facing, "Changed since last run" is restored near the priority queue, source-health percentages are labeled as coverage proxies with help text, and the PM action tracker switches to stacked cards on narrow screens.
-
🟢
Xbox Control Room + Fluent Layout UX (v3.0.26)The Command Center now uses the selected hybrid design: a darker Xbox Control Room shell, compact segmented navigation, Fluent-style command search, regional/category lens chips, an executive readout, customer signal health score, source-health bars, metrics, priority queue, evidence quality, risks, opportunities, PM action tracker, and competitive moves. Shared cards, filters, tabs, and app chrome also adopt the cleaner graphite-and-Xbox-green treatment so the rest of the app feels more modern while preserving the Xbox identity.
-
🌎
Regional sentiment splits (v3.0.25)Sentiment and Social surfaces now include regional filters for US, Canada, EMEA, APAC, and LATAM. Product-line cards, executive summaries, social platform drilldowns, retailer review blocks, PC peripheral sentiment, and handheld sentiment now respond to the selected region using source tags and geographic text cues. Untagged global-only signals are excluded from regional counts so a US or EMEA view is not silently diluted by worldwide feedback.
-
🔭
Technologies + Competitive Analysis — market-aware innovation upgrade (v3.0.24)Competitive Analysis cohort searches now separate In your range, Near-range stretch, and Market context products; each card explains why it appeared with chips like market leader, top rated, top seller, high sentiment, and technology match. The resolver understands technology refinements such as rapid trigger, Hall Effect / magnetic, hot-swap, low-profile, compact/TKL, high polling / low latency, RGB, long battery life, and low-latency audio. The Technologies tab now has one-click pivots into Competitive Analysis plus a new Innovation Radar that scores weak-signal technologies from live news, PC peripheral coverage, Reddit, and podcast rumors — surfacing what to watch next, not just what products already ship today. The adoption matrix now covers controllers, keyboards, mice, and headsets.
-
🎯
Cohort search — smarter price matching & brand diversity (v3.0.23)When a tight price range like gaming keyboards $100–150 only had 2 catalog matches (and missed all the market leaders — Logitech, Razer, Corsair, SteelSeries — whose flagships sit at $169–220), the resolver now auto-widens the range in three soft steps (+25% → +50% → +100% of the original window) until it has at least 5 candidates. Neighboring picks are clearly labeled with a yellow "near" chip on each card, and the cohort hero shows a "📐 Range widened automatically" notice explaining the original vs. effective range. The cohort label gets a (near $X–$Y) suffix when expansion was applied. Brand-diversity rebalance: the ranker now soft-caps each brand at 2 entries in the top 8, so a single brand can't dominate a cohort and the typical 8-product roster spans 5–8 distinct brands. The LLM prompt also receives in-range/near-range flags per member so buyer guidance can call out price drift explicitly. Result: gaming keyboards $100–150 now returns 8 distinct brands (NuPhy + Drop in range, Wooting / Keychron / Corsair / Logitech / Razer / HyperX near range) instead of 2.
-
👥
Competitive Analysis — cross-section / cohort search (v3.0.22)The CA input now understands category-style queries, not just specific product names. Type something like pro level controller, mini wireless mouse, handheld consoles, elite headsets under $200, or gaming keyboards $100–150 and the system auto-detects the cohort intent, resolves it against the curated 118-product catalog + discovered products, and returns a single LLM-synthesized cross-section report comparing up to 8 best-fit matches. Filters supported: category (controller / headset / mouse / keyboard / console / handheld / wheel / fightstick / flight / mobile / assistive), tier (pro / elite / premium / flagship / esports / mid / budget), size (small / mini / compact ≤ 250g vs. large ≥ 320g), connectivity (wireless / wired), brand, and price (ranges like $0-50, $50-75, $75-100, $100-150, $150-200, $200-250, plus under $X, over $X, between $X and $Y, around $X). Members are ranked by a 30%/25%/25%/20% mix of Amazon rating · review volume · positive sentiment · recency so cohorts surface top-rated, top-selling, well-loved products first. Reports include a positioning quadrant (leader / challenger / dark horse / laggard), a head-to-head comparison table, common strengths & risks, "where each one wins", buyer guidance by audience, and an Xbox implication call-out. Cohort entries save alongside single-product analyses (purple 👥 Cohort · N badge) and ride the same 24h auto-refresh cadence introduced in v3.0.21.
-
🔬
Technologies is now a top-level tab (v3.0.21)The Technologies surface has been promoted from a sub-tab inside Products → Accessories up to a top-level page tab — replacing the old Usage tab. A new surface filter at the top of the tab lets you switch between three views: Accessories (Controller Technology Landscape — the live Hot This Week panel, hardware-innovations feed with sparklines & glossary, Tech Adoption Matrix), Consoles (storage / graphics / optical drives / cooling / RGB / connectivity across Xbox, PlayStation, Switch, and handheld-class hardware), and Handhelds (battery & power, displays, cooling, ergonomics, controls and OS across Steam Deck, ROG Ally, Legion Go, Claw, AYANEO). The legacy Technologies sub-tab is removed from the Accessories / Consoles / PC Handhelds category pages — it now has one canonical home.
-
🔁
Saved Competitive Analyses now auto-refresh daily (v3.0.21)Each saved analysis (under the Competitive Analysis tab) is now automatically regenerated against the latest news / Reddit / podcast / industry coverage on a 24-hour cadence — no user intervention required. The server kicks off a first pass ~5 minutes after startup (so the dashboard caches are warm) and then repeats every 24h. A new "🔁 Refresh All" button + status pill at the top of the Saved Analyses grid shows when the last auto-refresh ran and lets you trigger one on demand (great for force-refreshing the whole grid after a big news drop). Failures are logged and skipped — one stale entry never blocks the rest of the pass.
-
🎨
Cross-tab UX redesign — executive-report look & feel (v3.0.20)Every major tab now opens with the same Competitive-Analysis-style "executive report" hero — uppercase kicker, headline + subtitle, a meta-pill row (LIVE pulse + "Updated X ago"), and a compact KPI strip on the right (products tracked, themes, top platform, mentions, freshness, source counts, etc., populated live from the dashboard data). The legacy section headers across all 14 sub-tabs (Sentiment, Social Media, Industry News, Rumors, Reddit Trending, Special & Limited Edition, Technologies, plus Console, PC, and Handheld surfaces) get a green accent bar and refreshed typography in-place — same content, much more polished hierarchy. A reusable vr-* (Voice Report) CSS component set (vr-hero, vr-section, vr-block, vr-card, vr-kpi, vr-meta-pill, vr-exec-summary) is now available for future tabs to adopt the same look without bespoke styling. Hero KPIs are computed automatically from existing caches so they refresh on every 15-minute data pull and require no new API calls.
-
🧬
Technologies tab — Tech Adoption Matrix (v3.0.19)A new sortable matrix shows every controller in the curated catalog (39 today) against 12 key technologies — Hall Effect sticks, TMR sticks, adaptive triggers, hair-trigger locks, rear paddles, Qi/wireless charging, companion app, gyro/motion, low-latency 2.4GHz wireless, RGB lighting, modular/swappable parts, and 1000Hz+ polling. Cells show ✅ adopted / ⬜ not adopted / ❓ insufficient evidence; click any cell for the source-of-truth drawer (catalog feature flag, spec string, or matched manufacturer-page text). Sort by any tech column to instantly see leaders/laggards. A summary strip at the top shows per-tech adoption percentages with a yes/no/unknown bar, and brand-chip + search filters let you slice to just Microsoft, Sony, GameSir, etc. Surfaces directly the gaps the Most Disliked panel hints at — e.g., who actually offers Hall Effect at the budget tier, or how many esports controllers ship Qi charging.
-
🔍
Technologies tab — drilldowns, sparklines & jargon glossary (v3.0.18)Every Most-Liked / Most-Requested / Most-Disliked item is now clickable — opens an evidence drawer that filters the live HW news + Reddit trending + industry news + podcast rumors corpus by that technology and shows the matching items, ranked by recency, with snippets and metadata. A small 7-day mention-velocity sparkline appears next to every annotated item so you can see momentum without clicking. Jargon (TMR, Hall Effect, Qi2, GaN, USB-C PD, aptX, LDAC, BLE Audio, LC3, ANC, DualSense, PSSR, OLED, IPS) gets dotted-underline glossary popovers — hover or focus to see a one-line definition. The Hot This Week cards from v3.0.17 are now also clickable + carry their own inline sparkline.
-
🔬
Technologies tab — live signals, filter chips & Hot This Week (v3.0.17)The Technologies tab now opens with a "🔥 Hot This Week" panel — top 3 controller technologies ranked by 7-day mention growth across the live news + Reddit corpus, with a delta arrow showing how much momentum has changed vs. the prior 7 days. The Latest Hardware Innovations feed gains category filter chips (Sticks & Drift / Triggers & Haptics / Audio / Battery & Charging / Switches) so you can scan only the angle you care about. The stale "Data as of April 2026" footer is replaced by an auto-stamped timestamp from the freshest underlying data, the section gains a 🟢 Live status pill, the tab itself now shows a live count badge, and the same dynamic-badge pass updates Industry News, Rumors, and Reddit Trending counts as data refreshes.
-
✨
Competitive analysis — transparent progressive enrichment (v3.0.16)When v3.0.15's auto-trim ladder has to drop data to fit the model input limit, the report now fills itself back in in the background. Pass 1 still renders fast at whatever trim tier the prompt fit at, but a small "Enriching report with deeper analysis…" pill appears at the top while focused Pass 2 (full manufacturer specs, restored secondary comparators) and Pass 3 (restored sentiment/community snippets, pull-quote candidates) run in sequence and merge their sections back into the live report. Each pass only sends the previously-dropped raw data — never the full prompt — so it can't 413 again. Includes runId compare-and-swap (a regenerate cancels in-flight enrichment), defensive merge (never overwrites good Pass 1 data with empty Pass 2/3 responses), and AbortController-based cancellation so switching products doesn't waste budget. Saved-analysis views never trigger enrichment.
-
📦
Competitive analysis — auto-trim on HTTP 413 (v3.0.15)Fixes the "Payload too large (HTTP 413)" failure introduced in v3.0.13 when running analysis on evidence-heavy products (e.g. SCUF, products with image-OCR specs). The analyzer now estimates the prompt size up front and starts at the right trim tier — and if the model still rejects it as too large, automatically retries with progressively trimmed payloads (drop OCR text → halve manufacturer spec sections + drop secondary comparators + halve snippets → drop spec sections entirely and cap evidence at 16 rows). The strategic JSON shape (BLUF, status-framed PM Insights, active threads, sources footer) is preserved across all trim tiers.
-
🛠️
Better LLM error reporting + larger output budget (v3.0.14)The Competitive Analysis tool now surfaces the real reason when an LLM call fails — instead of the generic "rate-limited, parse failure, or token rejected" catch-all you'll see the actual HTTP status and category (token rejected, payload too large, rate limited, JSON parse failure, daily budget exhausted, or timeout). Also raised the model output budget from 8 500 → 10 000 tokens so the larger v3.0.13 schema (status-framed PM insight cards) can finish the JSON cleanly without truncation.
-
🧭
Competitive analysis — subreddit-scoped recall + status-framed PM insights (v3.0.13)Reddit recall expanded with a curated list of 75 gaming subreddits (Xbox, PlayStation, Switch, SCUF, 8BitDo, Razer, GameSir, controllers, headsets, peripherals, handhelds, deals…). Every competitive analysis now runs a second scoped pass against those subs in parallel with the regular Reddit search, so niche feedback from places like r/scufgaming, r/Controller, and r/headphones surfaces alongside broad r/gaming threads. PM Insights are now status-framed cards — ⚡ CRITICAL (red), 🎯 OPPORTUNITY (green), 👁️ WATCH (amber) — each with a clear three-line structure: 📊 Signal · ⚠️ Implication · 💡 Action. A new Most Active Community Threads mini-table shows the top deterministic Reddit threads by engagement (upvotes + comments) with a "niche" chip on subreddit-scoped hits. The report now ends with a grouped Sources Cited footer (Manufacturer / Retailers / Press / Podcasts / Reddit / YouTube) listing only the URLs the brief actually references. PowerPoint and plain-text exports include all of the new sections.
-
🎯
Competitive analysis — CEO-grade premium pass (v3.0.12)The Competitive Analysis report now leads with a Bottom-Line-Up-Front (BLUF) verdict bar containing a one-sentence executive takeaway plus three colour-coded chips: Action (DEFEND / MATCH / DIFFERENTIATE / MONITOR / IGNORE), Timing (NOW / 30 / 90 days / NO ACTION), and Confidence (HIGH / MEDIUM / LOW). Added a source-quality stacked bar at the top of the report body so you can see at a glance how much of the signal is Tier-1 manufacturer/top-press evidence vs Tier-2 mainstream press/podcast vs Tier-3 community/YouTube. Added 1-3 editorial-style pull-quote callouts deterministically extracted from the actual evidence (no LLM-invented quotes). Added a real product photo at the top of the report when the manufacturer page exposes an og:image. Editorial drop-cap on the executive launch summary. YouTube search is now a first-class evidence source — the report pulls real YouTube videos directly (Bing Video fallback when YouTube blocks). PowerPoint and plain-text exports mirror the new structure.
-
📰
Competitive analysis — reference-format report v2 (v3.0.11)The Competitive Analysis report now matches the SCUF Omega reference layout much more closely: hero spec-card grid right under the executive summary, separate yellow "Today's signal" bar, expanded Media Coverage & Active Threads table (up to 14 rows, source-type chips so podcast sourcing is clearly distinct), new YouTube Coverage cards (verified-URL only, with a SEARCH-the-web fallback card when no YouTube URLs are evidence-grounded), and a new Willingness-to-Pay grid showing price-acceptance signals by audience. PowerPoint and plain-text exports mirror the same structure. Older saved reports show a small banner explaining why they look different.
-
🎯
Reference-format competitive report cleanup (v3.0.10)Competitive Analysis now follows the SCUF Omega report structure more directly: one combined Executive Launch Summary at the top, sentiment snapshot, media/threads, community pulse, premium competitive-field snapshot, PM insights, and watch signals. Removed repetitive Price Positioning and Market Positioning sections. Premium products no longer compare against the core Xbox controller when they are more than 40% above core-controller price; they compare to Xbox Elite instead.
-
✨
Premium competitive report styling (v3.0.9)The Competitive Analysis output now uses a premium launch-report shell modeled after the SCUF Omega example: dark red-accented masthead, product summary card at the top, KPI chips, polished scorecards, elevated section panels, and richer tables that look more like a finished executive report than a generic dashboard card.
-
📊
Competitive analysis upgrade (v3.0.8)The generated brief now blends the current evidence-grounded CEO analysis with the strongest launch-report elements from the SCUF Omega reference: a top competitive signal banner, sentiment scorecards, media coverage / active threads table, community excitement vs. concern pulse, broader competitive-field snapshot, Xbox PM insight blocks, and 30-day watch signals. PowerPoint, email, PDF, and plain-text exports include the new sections.
-
🔍
Manufacturer page spec extraction + image OCR fallback (v3.0.7)Competitive analysis now reads the full Tech Specs / Compatibility / Connectivity / "What's in the box" block from a manufacturer's product page instead of truncating to the first 1500 chars. Structured stripping preserves table and list boundaries so label/value pairs stay readable. As a backup, vision-LLM OCR (gpt-4o-mini) runs on the highest-ranked spec/feature images and feeds extracted text into the analysis as fenced quoted evidence. Added direct URL mapping for SCUF Omega Smoke. Fenced as untrusted input with prompt-injection guards.
-
🧭
No-setup Usage Analytics (v3.0.6)Adds a Usage tab that shows who opened the app, launch counts, page views, version adoption, and recent activity. Events are written as small JSON files to the existing shared app data folder, so no SharePoint List or Azure setup is required.
-
📅
Date pills now ALWAYS visible on Risks + Opportunities (v2.1.32)v2.1.31 wired the fallback aggregation correctly, but pills were still being missed on screen. v2.1.32 ships: (1) the pill is now inside the risk/opp card header right next to the theme name — impossible to miss; (2) font bumped from 10.5px → 12.5px and padding doubled; (3) when no dated evidence exists, an explicit muted "📅 Last observed: —" pill renders so the user can see the system tried; (4) a diagnostic strip at the top of Briefing shows version + dated topic counts + risks/opps dated counts (helps confirm you're on the right build); (5) /api/dashboard fetch now includes a cache-buster (?_={timestamp}) and cache: 'no-store' so Electron can't serve a stale response after an update.
-
📅
Last observed pills on every Risk + Opportunity (v2.1.31)Fallback pass in computeRisksAndOpps(): when a theme bucket had no dated topics in its primary set (because normalizeTheme is first-keyword-match-wins), the aggregator now scans the FULL pool of dated topics across all products + platforms for any post whose text mentions that theme's keywords, and uses the newest match's date. The matched topic gets appended to the drilldown evidence list with a ↪ related badge. JSDOM render harness verified pill coverage went from 2/6 → 6/6.
-
📅
Real posted dates on Twitter + YouTube too (v2.1.30)v2.1.29 added real dates from Reddit, news, and podcasts but Twitter/YouTube were still curated and undated. v2.1.30 ships: enrichSocialWithTwitter hits Google News RSS with site:x.com OR site:twitter.com per product and replaces the curated twitter platform with up-to-12 real posts carrying the original pubDate. enrichSocialWithYouTube does the same with site:youtube.com for up-to-10 videos. Cached server-side (Twitter 30 min, YouTube 60 min). Total real-dated topics jumped from 80 to 166. Per direction, Instagram + TikTok stay undated as curated breadth signal. Now when you click Top Risks → Firmware Risk, every evidence row's "Last observed" pill is driven by real source-published dates from Twitter, YouTube, Reddit, news, AND podcasts — five live streams, all carrying their actual publish timestamps.
-
📅
Real posted dates from Reddit, news, podcasts (v2.1.29)Three real-data enrichment pipelines: enrichSocialWithReddit hits reddit.com/search.json per product and pulls real created_utc → ISO publishedAt; enrichSocialWithNews filters the existing news cache per-product; buildPlatformEntry in podcastSentiment.js was dropping publishedAt from podcast topTopics — fixed. The synthetic OBSERVED_AS_OF backfill from v2.1.28 has been removed. Themes that don't match any real-data evidence simply don't show a freshness pill (which is honest).
-
📅
v2.1.28 — Curator-stamped backfill (superseded)Made pills appear by stamping undated curated topics with a fixed date. Replaced in v2.1.29 with real source dates.
-
📅
"Last observed" pills now appear on every aggregated finding in the Daily Briefing too (v2.1.27)v2.1.26 added "Last observed" pills on Competitive Analysis themes, sentiment drilldowns, Reddit topics, PC drilldown, and social mentions — but the Daily Briefing tab was not covered. Fixed: Top Risks and Top Opportunities cards now carry a labeled "📅 Last observed: <date>" pill on the card itself (no need to drill in to see freshness). When you drill into a risk like "Firmware risk", the modal header shows a "Newest evidence" pill, and inside the evidence list the per-product, per-platform, and per-row dates are now prominent labeled pills (replacing the easy-to-miss tiny gray "· Feb 10, 2025" suffixes from before). Sentiment Movers and Volume Spike Alerts cards also carry the pill, and their drilldown modals now show aggregate + per-driver-topic dates. Pills are color-coded: green for fresh (≤14 days), red for stale (≥60 days), neutral blue otherwise. "Send this Briefing" email + plain-text exports now include a "(Last observed Apr 28, 2026)" suffix on every risk/opp/mover/alert line, so the freshness anchor survives in CEO inboxes.
-
📅
"Last observed" timestamps on every aggregated finding (v2.1.26)You now see — at a glance — when each theme, finding, or weakness was most recently observed in the underlying data, so an issue like "grip peeling on Elite Series 2" or "stick drift" tells you whether it's still happening (📅 fresh, last 14 days) or aging out (stale, > 60 days). Computed as max(date) across cited evidence (news, Reddit, podcasts) and surfaced everywhere it makes sense: (1) Competitive Analysis — every Press Theme and User Sentiment Theme card carries a "Last observed: <date>" pill; the Innovations and Notable Weaknesses cards do too. Price positioning shows it next to the heading. (2) Sentiment drilldown modals — each Key Finding now shows a clearly-labeled "Last observed: <date>" pill instead of the small parenthetical date. The modal heading also shows "Newest evidence: <date>" so you see the freshness of the whole set. (3) Reddit Trending topic cards — newest post date now appears as a pill in the topic stats row. (4) PC Accessories drilldown — each product card shows the newest sample date alongside its mention counts. (5) Social mentions in both Accessories + Consoles social tabs. PowerPoint and plain-text exports include a plain-text "(Last observed Apr 28, 2026)" suffix on every theme/innovation/weakness for CEO decks.
-
🖱️
Drill-down from any card in any tab (v2.1.26)Every news, rumor, hardware-tech, PC-news, and social-mention card is now clickable as a whole — opens a unified detail drilldown modal showing source, date, full summary, AI key points (if available), platform, sentiment, and quick actions (Open original / Copy link / View transcript for rumors). Inline links, AI-summary toggles, and evidence-link buttons inside cards continue to work without double-firing — the click handler guards against existing interactive children using event.target.closest(). Keyboard-accessible (Enter / Space) with proper focus rings. Section headers across Industry News, Hardware Tech, PC News, and Rumors now show a small "As of <date>" label so you can see the section's freshness without clicking in. A global "📅 Data as of <date>" banner sits next to the Live pill in the header — sourced from the new dashboard.lastUpdated field which is the max of news/Reddit/social/PC source timestamps.
-
🔧
Hotfix: Full spec comparison now actually renders (v2.1.25)The v2.1.24 release built the full spec comparison data on the backend correctly, but the frontend renderer used the wrong source for primary comparator names — it read analysis.primaryComparators (which the LLM populates inconsistently) instead of payload.primaryComparators (the canonical server-side catalog refs). Result: the new "📊 Full spec comparison" collapsible block silently rendered as empty. Fix: all three render paths (UI block, PowerPoint export, plain-text export) now use the same resolved primaryNames list that the rest of the brief uses. The Steam Controller analysis now shows the 24-row collapsible spec table side-by-side with Xbox Wireless Controller and Elite Series 2 as intended.
-
📊
Full spec comparison — collapsible side-by-side table (v2.1.24)Competitive Analysis briefs now include a Full Spec Comparison block that puts the subject product head-to-head with every primary Xbox comparator across ~20 specifications grouped by 5-7 categories (Inputs · Connectivity · Battery & Power · Build & Ergonomics · Audio · Software & Customization · Pricing & Warranty). Collapsed by default — one-line header shows row count and comparator list, click to expand. Xbox comparator values now flow into the prompt directly from the curated catalog (battery life, stick tech, triggers, paddles, dpad type, weight, polling rate, audio, warranty — all 14 catalog spec fields, not just feature flags). Subject values come from manufacturer evidence first, then catalog, then well-known specs; genuinely unknown values render as "—" but the row stays so the comparison is complete. Verified Steam Controller: 24 rows surface side-by-side data including paddles count (0 vs 0 vs 4 — Elite advantage), battery type (2x AA vs 2x AA vs Li-ion), weight (300g vs 287g vs 345g), and MSRP ($99 vs $64.99 vs $179.99). Renders expanded in PowerPoint / Outlook / PDF exports for CEO decks. Sticky table header keeps column labels visible while scrolling.
-
🧠
Press themes + user sentiment now ALWAYS surface real coverage (v2.1.23)Even after v2.1.22 wired up real article bodies and Reddit top comments, the LLM was still bailing out and returning "insufficient" on press / user sentiment for many products — leaving those blocks blank when great evidence was right there. Two fixes: (1) Stronger prompt — the system prompt now requires the LLM to produce 1–3 press themes whenever ≥1 news/podcast row exists in the evidence list (and 1–3 user sentiment themes whenever ≥1 Reddit row exists), citing those rows by id. The model is told plainly: "do not leave the array empty just because snippets feel thin — even brief coverage produces useful themes." (2) Server-side safety net — if the LLM still returns 0 themes despite matching evidence, we auto-build per-article stub themes from the real titles and snippets so the user always sees concrete coverage with working source links, never a blank section. Verified: Steam Controller now produces "High demand for the Steam Controller" + "Concerns over pricing" press themes (citing Engadget + PCGamesN), plus "Excitement about features" + "Mixed feelings on pricing" user themes from Reddit.
-
📰
Real article bodies + Reddit comments now power Competitive Analysis briefs (v2.1.22)Critical fix for empty news + user sentiment sections. Root cause: Google News RSS only returns titles + a list of related-publisher headlines as the description (never the actual article body), and Reddit search returns post metadata only (no comment text) — so the LLM had nothing real to summarize. Now: (1) Bing News RSS added as primary news source — returns direct publisher URLs (Engadget / Polygon / Gizmodo / Tom's Guide / etc.) AND real article excerpts in the description. Google News kept as supplementary breadth. (2) Article body fetching for the top 4 news items — pulls up to ~1200 chars of real article text from each publisher's HTML (parses <article>/<main>/<p> blocks, strips nav/footer/scripts). 6h cache per URL. (3) Reddit top-comments fetching for the top 3 reddit posts — pulls up to 3 top-scoring comments (≥3 upvotes, ≥20 chars) so the LLM sees real user voices. The Steam Controller brief now picks up $99 directly from the Engadget body and quotes upvoted user takes like "for all you get, it's a really good price" / "the 'pro' controllers from Xbox and Playstation are overpriced." Snippet cap raised 280→600 chars so real bodies fit in the LLM prompt. Cold-cache latency ~14-18s; cached re-runs ~0s.
-
🏭
Manufacturer + retailer + targeted web search for Competitive Analysis (v2.1.21)Every Competitive Analysis now opens with a sweep of authoritative public sources in this priority order: (1) manufacturer page (Valve / Sony / Razer / SCUF / SteelSeries / Logitech / GameSir / GuliKit / Backbone / Nintendo / ASUS ROG / Lenovo Legion / HyperX / etc. — ~40 official URLs hard-coded), (2) retailer SERPs (Amazon + Best Buy with brand+model confidence gating so accessory/bundle/used-listing first-results are rejected), (3) cached news + Reddit + podcasts from the dashboard, plus (4) targeted Google News RSS and (5) Reddit search for product-specific coverage beyond the curated feeds. Specs sourced from the manufacturer page now show an OFFICIAL badge (gold) — Steam Controller now correctly picks up the $99 price straight from store.steampowered.com instead of guessing. Source-class slot reservations (1 manufacturer + 2 retailer + 3 news + 3 reddit + 2 podcast + 1 catalog) ensure no single channel crowds out diversity. Coverage framing is honest — the prompt explicitly tells the LLM that YouTube / X / TikTok / Instagram aren't programmatically covered, so the brief no longer pretends it surveyed channels we don't access. Promise.allSettled with per-source 9–12s timeouts means a slow Best Buy never blocks the whole analysis.
-
🧹
Regenerate now updates in place — no more duplicates (v2.1.21)Previously, clicking Regenerate after a schema/prompt version bump would create a second saved analysis side-by-side with the old one. Fixed: putCache now scans all existing saved analyses for the same product (normalized name match) and removes any orphans whenever a new version is written. One product = one saved analysis, always.
-
📋
CEO-grade Competitive Analysis (v2.1.20)The competitive analysis is now a full executive brief. New sections: What it is (subject overview), Key specs table with provenance badges (CATALOG / CITED / INFERRED) so reviewers can see what's evidence-backed vs widely-known, Press themes with sentiment (positive / mixed / negative) — strictly grounded in news evidence, User sentiment themes from Reddit, Multi-comparator head-to-head (when subject price straddles Xbox SKUs, e.g. Steam Controller @ $99 now compares to BOTH Xbox Wireless Controller and Elite Series 2, with a separate head-to-head table for each), and Price positioning with gap-to-subject analysis per comparator. PowerPoint, email, and PDF exports updated to render the full new brief. Press/user sentiment sections show "Insufficient signal" honestly when the dashboard hasn't picked up coverage rather than fabricating themes from public knowledge.
-
✅
Configure Token now actually tests the token (v2.1.19)v2.1.18's "Save & Test" button only checked "is there a token string?" — it didn't actually try the token against the provider. So a GitHub PAT with the wrong permissions (e.g., missing the Models scope) would falsely report "✅ ready" and then every analysis would silently fail with "LLM returned no analysis". v2.1.19 makes the Save button do a real round-trip to the provider with a 5-token completion. If GitHub returns 403 "no_access", you now see a specific message: "Your GitHub PAT is missing the Models permission" with a direct link to the GitHub settings page. 401 says "token expired/invalid". 404 says "model not found". 429 says "rate-limited". The dialog only shows the green ✅ confirmation when the LIVE call actually succeeds. New /api/llm-test endpoint also lets you re-test the current token without resaving.
-
🔑
One-click LLM token setup — no more "no LLM configured" error (v2.1.18)The packaged dashboard ships as a portable .exe, which means process.execPath points to a hidden temp extraction folder, NOT to where you dropped the .exe. That's why dropping a .env file "next to the .exe" wasn't picking up your token in v2.1.17. Two fixes: (1) the env loader now checks PORTABLE_EXECUTABLE_DIR (the real folder where the user placed the portable .exe) so dropping .env next to the .exe finally works as expected, AND (2) — much better — there's now an in-app 🔑 Configure Token dialog. Token is persisted per-user at %APPDATA%\xbox-voice-of-customer-dashboard\llm-config.json, hot-reloaded into the running process, and survives reinstalls.
-
🎯
Competitive Analysis is now its own tab — saved across sessions (v2.1.17)Promoted Competitive Analysis out of the Compare page into a dedicated 🎯 Competitive Analysis tab next to Compare. Every analysis you generate is now persisted on disk (in competitive-analyses.json) so it shows up in a Saved Analyses card grid for future viewing — click 👁 View to instantly re-render any past brief without burning another LLM call, ↻ Regenerate to refresh with latest evidence, or 🗑 Delete to remove.
-
📚
+66 official "Designed for Xbox" accessories on Compare (v2.1.16)I scanned the official xbox.com/accessories sheet and added every unique product line that wasn't already in our catalog. The Compare page now has 118 products (up from 52), grouped into 11 accessory types: 🎮 Controllers, 🎧 Headsets, ⌨️ Keyboards, 🖱️ Mice, 📱 Mobile Controllers (Backbone One/Pro, Razer Kishi V2/Pro, GameSir X4, 8BitDo SN30 Pro, Turtle Beach Recon Cloud), 🏎️ Racing Wheels (Logitech G920 + G PRO Wheel, Thrustmaster T128/T248/TX, MOZA R3/ESX, Turtle Beach VelocityOne Race), ✈️ Flight Sticks (Thrustmaster T.Flight Hotas, VelocityOne Flightstick), 🥊 Fight Sticks (Nacon Daija, 8BitDo Arcade Stick), ♿ Assistive (Xbox Adaptive Controller + Joystick, ByoWave Proteus, QuadStick FPS, Logitech Adaptive Kit, AbleNet switches, AirTurn FS, Pretorian Optima), 🖥️ Consoles, 🎒 Handhelds. Also filled in Xbox first-party gaps: Xbox Stereo Headset, Xbox Adaptive Controller, Xbox Adaptive Joystick. Every product has a real price + key specs + features matrix + manufacturer URL, so the Compare table renders cleanly and the new Competitive Analysis card finds the right Xbox comparator for whatever a user types.
-
🎯
🎯 Competitive Analysis: type any product, get a CEO brief (v2.1.15)The Compare page has a new 🎯 Competitive Analysis card at the top. Type any product name (freeform — autocomplete from your catalog, but anything works: "Steam Controller", "HyperX Cloud III", "Logitech G Pro X 2") and the LLM researches it across our news, Reddit, and podcast data and produces an executive-ready brief: 2–3 sentence summary, head-to-head spec table vs. the most-similar Xbox product (Elite Series 2 / Wireless Controller / Wireless Headset depending on category), biggest innovations and weaknesses, value analysis, market positioning, threat-level pill (low/medium/high), and 3–6 actionable recommendations for the Xbox PM team. Three one-click exports: 📊 Copy for PowerPoint (rich HTML with inline styles — paste straight into a slide), 📧 Copy for Email (Outlook-friendly), 🖨️ Save as PDF (print-only stylesheet). 24-hour cache means re-asking the same product is instant. Bonus: if you analyze a product that isn't in the Compare catalog yet, it gets auto-added to your discovered list so it shows up in the selector going forward. Backed by evidence-citation discipline (every nontrivial claim cites the news/Reddit/podcast item it's drawn from), in-flight dedupe, atomic writes for OneDrive, and explicit "limited evidence" surfacing when data is genuinely thin.
-
🔍
🔎 Auto-discovery from rumors + every news feed (v2.1.14)The Compare page now auto-adds new competitive products as journalists or podcast hosts mention them — and tells you in real time when one lands. Coverage expanded from news + announcements + reddit-trending to announcements, industry news, PC peripheral news, hardware tech, all Reddit buckets, AND podcast LLM rumor extractions. Rumor coverage is the big shift: a single rumor source (say, a Tom Henderson tweet quoted on a podcast) now qualifies a candidate, since leaks usually start from one insider. Smarter parsing strips filler verbs ("Razer launches new Wolverine V3 Pro Controller" → Razer Wolverine V3 Pro Controller), captures trailing model digits ("Steam Controller 2", "Switch 2 Pro"), and infers 7 categories instead of 3 (controller / headset / keyboard / mouse / console / handheld / accessory). 16 brands added to the allowlist (Valve, Lenovo, MSI, AYANEO, Alienware, Samsung, Meta, etc.). When the dashboard refresh adds a new product, a toast pops up with the name and source. Open Compare to view, or dismiss with the ✕ to never see that one again.
-
🛒
📦 Expanded competitive product lineup (v2.1.13)The Compare/Products page now tracks 13 controllers and 12 headsets across the full competitive landscape — well above the "top 10" mark for each category. New controllers: Nintendo Switch Pro, 8BitDo Ultimate (Hall Effect), Nacon Revolution X Pro, Turtle Beach Stealth Ultra, PowerA Fusion Pro 4, and HyperX Clutch Gladiate. New headsets: SteelSeries Arctis Nova Pro Wireless, Razer BlackShark V2 Pro, HyperX Cloud Alpha Wireless (300hr battery!), Logitech G Pro X 2, Astro A50 X, Turtle Beach Stealth 700 Gen 3, Razer Kaira Pro, SteelSeries Arctis Nova 7X, Corsair HS80 MAX, and Audeze Maxwell. Each entry has full specs, features, top strengths/risks, manufacturer URL, and (where confidently known) Amazon ASIN so the existing review sync can pull live ratings.
-
⚔️
🗂️ Cleaner Compare page (v2.1.12)The product picker at the top of Compare is now a tidy stack of category dropdowns — Controllers, Headsets, Keyboards, Mice, Consoles, Handhelds — each collapsed by default with a "X selected" badge so you can see at a glance where your picks live. Categories with active selections auto-open. Inside each dropdown, products are still sub-grouped by brand (Xbox, PlayStation, Nintendo, Valve, Third-Party). Steam Deck OLED + Switch 2 are now grouped under 🎒 Handhelds instead of buried with the full consoles. The whole selector takes up roughly 1/3 the vertical space it used to.
-
🎯 CEO-readiness pack (v2.1.11)A batch of executive-grade upgrades for sharing the dashboard upward: 📌 Today's Top 3 LLM-curated headline card pinned at the top of the Briefing tab; 📤 Send this Briefing button copies a richly-formatted email-ready summary to your clipboard for Outlook/Teams; 📊 Trust receipts on every Xbox sentiment card showing the mix of sources behind the score (Reddit · podcasts · social · last refresh); ⏳ stale-article badges on news/announcement cards older than a week; "all feeds green" pill in the header now polls /api/health and surfaces failing/degraded feeds inline; print/PDF polish carries over the new chrome correctly. Plus a fix for Feedback submissions on OneDrive (the EPERM mkdir error). And Steam Deck OLED + Steam Machine now appear under Valve on the Compare/Products page.
-
📋 Per-card Summary button fix (v2.1.10)The individual 📋 Summary button on each card now correctly toggles the summary panel on the card you clicked, even on the cloned Consoles / PC Gaming / Handhelds tabs (which mirror Industry News content). Previously the click was hitting the original section's panel by id and silently no-op'ing on the visible tab. The "Read all summaries" toggle was unaffected.
-
📋 AI summaries on every news card (v2.1.9)Industry News, Announcements, Hardware Innovations, and PC Peripheral News articles now ship with a pre-generated, PM-tailored AI summary. Click 📋 Summary on any card to expand a 1-2 sentence takeaway plus 2-4 key bullets — auto-generated when the article first lands so there's no wait. A 📋 Read all summaries button at the section header expands every panel at once for fast scanning.
-
Podcasts: collapse all + analyzed count (v2.1.8)When you expand "View past episodes" on one or more shows, a green "▴ Close all other episodes" bar now appears at the top of the Podcasts page so you can collapse everything back to the default (latest episode only) in one click. Each show card also shows a 🎙️ N analyzed badge so you can see at a glance how many of that show's episodes have been transcribed and run through the LLM (chapters, topics, rumors, product mentions feeding the dashboard).
-
On-demand transcription auto-recovers (v2.1.7)If the LLM analysis step fails after a transcription completes (rate limit, blown daily budget, transient 5xx), the dashboard now auto-retries at +60s and +5min. A background safety net also sweeps for orphaned episodes (transcript ready but no chapters/topics/rumors yet) on every Podcasts tab visit, so analyses heal themselves without you having to click anything.
-
Live sentiment trend, day one (v2.1.6)The Briefing trend chart and weekly/monthly delta cards now backfill from your existing news, Reddit, reviews, and podcast evidence — so the trend has real day-to-day movement immediately, instead of waiting 30 days for daily snapshots to accumulate. As more data lands, coverage automatically deepens out toward 90 days.
-
Splash screen now uses Xbox logo (v2.1.5)The startup loading screen now shows the same Xbox logo from the dashboard header — circular framed with the green glow — instead of the generic app icon, for a more cohesive launch.
-
Live transcription ETA (v2.1.4)When you transcribe a past episode, the status banner now shows live progress (%) plus a real-time estimated time remaining — calculated from Whisper's actual progress, with a smart fallback to historical wall-clock-per-audio-minute averages. Episodes waiting in line show "Position N of M · ~X min until your turn." Title resized 20% and centered for cleaner first paint.
-
Faster app + Podcasts tab (v2.1.3)The Podcasts tab now opens almost instantly on every visit after the first — we cache the last response in the browser and refresh in the background. The server also pre-warms the podcasts cache 10 seconds after launch so even the first cold-start click loads from a warm cache. Plus a small bug fix: already-transcribed episodes no longer show a redundant "Transcribe" button.
-
On-demand podcast transcription (v2.1.2)Past episodes now show a "🎙️ Transcribe & analyze" button. Click it and the dashboard runs Whisper locally, then auto-extracts chapters, topics, rumors, and product mentions — feeding them into the rumors feed and product sentiment cards. Typically 5–30 minutes per episode; the dashboard refreshes itself when ready.
-
Product filter on Sentiment tabs (v2.1.1)The Accessories Sentiment tab now has Elite Controller / Core Controller / Headset filter chips, and the Consoles Sentiment tab has Series X / Series S — they filter both the product cards and the retailer review cards below to a single product. Default "All Products" preserves the overview.
-
Methodology page (v2.1)A full transparency page explaining exactly how every score is produced — sources, refresh cadence, sample sizes, and limitations. Headline product scores are clearly labeled as analyst-curated; the live items (news, Reddit, reviews) are machine-scored. Click 📐 Methodology in the header.
-
Evidence chips on every card (v2.1)Each product sentiment card now shows a Low/Medium/High evidence chip with the live n= count of mentions across editorial reviews, Reddit, and news currently feeding the dashboard. Hover for the breakdown.
-
Executive summary one-liner (v2.1)A volume-weighted, deterministic one-sentence read of where sentiment is this week, how many products need attention, and the top story. Renders before the rest of the dashboard so it's always your first read.
-
Data Health panel (v2.1)Click the live status pill to see every feed (News, Reddit, Reviews, Social, PC Accessories, Podcasts, Timeseries) with three-axis status — fetched OK, stale, or failed — plus item counts and last-success timestamps.
-
Cache-first first paint (v2.1)The dashboard now renders from a local cache of the last successful fetch immediately on page load, then hydrates with fresh data in the background. Cold starts on the Briefing page now feel instant.
-
Print/PDF polish + Copy as exec summary (v2.1)The print stylesheet now produces a clean executive PDF with header, footer, version, and timestamp on every page. Every product modal also has a one-click "📋 Copy exec summary" button that puts a defensible paragraph on your clipboard with link + as-of timestamp.
-
Press / to search · ? for shortcuts · R to refresh (v2.0)The command palette opens with a single slash, the shortcut cheat sheet with ?, and R triggers a cache-busting live refresh.
Social Media Sentiment
Twitter/X, YouTube, Reddit, and podcast mentions broken down per product — drill into any platform for the raw posts.
Social Media Sentiment
Aggregated sentiment from 𝕏 Twitter, YouTube, Instagram, and TikTok. Data refreshes every 15 minutes.
Loading executive summary...
📊 Detailed Platform Data
📎 Key Sources