The Hype Index

Hype, quantified
by AI.

See sneaker demand move before the market reacts. SoleSight fuses live search demand, real eBay resale asks, press coverage, social chatter and machine-learning 30-day forecasts into one explainable Hype Score per silhouette — rebuilt nightly by an autonomous AI pipeline, each signal labeled for exactly what it is.

AI consumer intelligence for sneaker brands, retailers and merchandising teams: spot rising silhouettes, time marketing, guide inventory bets with predictive analytics.

The Index

Rank by

This week's movers

Launch radar

Demand events detected straight from the data — days where a model's search interest spiked to 3×+ its trailing 90-day baseline — plus where every model sits in its hype lifecycle right now.

Market intelligence

The analyst view — every brand and category in the index, rolled up: average hype, resale premium over retail, search momentum and share of the top 10.

Case study: catching a riser

Does it actually predict?

One case study is an anecdote. So the momentum engine — the Hype Score's heaviest input — is backtested across every model's full search history: thousands of historical checks asking one question, when a shoe was flagged rising, did that demand still hold weeks later?

Built for the decision-makers

The same index answers a different question for every desk that touches the sneaker market.

Brand merchandising

Which silhouettes have earned a retro or a colorway push — backed by demand data, not instinct.

Nike · Jordan · New Balance

Retail buying

Size buy quantities against live momentum and boutique sell-through instead of last season's gut feel.

Foot Locker · boutiques

Marketing teams

Time campaigns to demand spikes the Launch Radar catches as they form, not after they peak.

agencies · in-house

Resale & marketplaces

Spot premium expansion early — acquisition and pricing signals straight from the ask side of the market.

StockX · GOAT · consignment

How it's built

An end-to-end system: nine live data feeds, one autonomous nightly pipeline, zero servers — the platform publishes itself while its builder sleeps.

01

Collect

Google Trends, eBay (US · UK · DE), Bluesky, Mastodon, YouTube, Google News + sneaker press, Wikipedia and 15 boutique feeds — every adapter degrades gracefully if a source refuses.

02

Store

One SQLite database, committed back to the repo nightly — the commit history is a public, auditable heartbeat.

03

Understand

A RoBERTa transformer scores community sentiment; Prophet fits a 30-day demand forecast with confidence bands per model.

04

Detect

Launch Radar flags demand spikes ≥3× each model's trailing baseline and labels every lifecycle stage.

05

Score & explain

Five weighted signals blend into a 0–100 Hype Score, plus a plain-English insight per model.

06

Publish

Everything lands in one static data.json; GitHub Actions redeploys this site — no human in the loop.

Tool choices, briefly: Prophet because sneaker demand is seasonal and per-model history is short · RoBERTa because community chatter is noisy short-form text · SQLite + one static JSON because zero infrastructure is a feature, not a compromise.

The boutique network Kith · Undefeated · A Ma Manière · Union LA · Extra Butter · Nice Kicks · Packer · Notre · Xhibition · Bodega · Concepts · Feature · Lapstone & Hammer · Social Status · Sneaker Politics — shelf availability polled nightly from each store's public product feed.

Signal provenance — every number, traced

The Hype Score is five weighted signals. Here's exactly where each one comes from and how live it is — nothing black-box.

ComponentData sourceStored / fetchedStatus
Resale premium .26 eBay Browse API — deadstock (new/unworn) asks ÷ retail MSRP · US, UK & DE markets, USD-converted resale ← resale.py live
Search momentum .24 Google Trends — recent 14 days vs. the prior 14 trends ← google_trends.py live
Search interest .18 Google Trends — same rows, level vs. the model's own peak trends live
Social buzz .20 Bluesky + YouTube live · Instagram/TikTok modeled (no viable API) social ← bluesky.py, social.py partial
Community mood .12 Bluesky + Mastodon + Reddit + YouTube comments, scored by RoBERTa reddit_posts ← sentiment.py live

Context signals shown across the site — Wikipedia attention, press coverage & momentum, boutique sell-through — stay out of the score until the backtest earns them a weight.

How the score works

Each signal is labeled for what it is today — live real data refreshed nightly, api-ready real adapters awaiting free API keys (demo data until then), or partial some platforms real, the rest modeled, or modeled synthesized from real search momentum pending a viable API.

26%live

Resale premium

Median deadstock ask (new, unworn) vs. retail from live eBay listings, nightly — the market's dollar vote.

24%live

Search momentum

Google Trends interest, last 14 days vs. the prior 14 — movement within each model's own history.

20%partial

Social buzz

Bluesky and YouTube live; Instagram/TikTok modeled (no viable APIs).

18%live

Search intensity

Current interest relative to that model's own historical peak — never compared across models.

12%live

Community mood

Transformer sentiment over live Bluesky, Mastodon, Reddit & YouTube-comment chatter — four keyless community sources.

Technical methodology — formula, normalization & a worked example

The formula

score = Σ(wᵢ · vᵢ) / Σ(wᵢ)   over available signals

Every component maps onto 0–100 before weighting:

  • Search intensity — Google's 0–100 index, 14-day mean. Relative to each model's own peak, so it measures how hot the model is vs. itself, not raw volume across models.
  • Search momentum — recent 14d vs. prior 14d percent change, mapped as 50 + Δ% × 0.8, clamped to [0, 100]. Saturates at roughly ±62%.
  • Resale premium — median price ÷ retail MSRP, mapped linearly from 0.8× (→ 0) to 2.6× (→ 100). The clamp caps extreme listings; prices are decile-trimmed before the median to drop fakes and typo listings. A model with no known retail price contributes nothing (see missing signals).
  • Social buzz — daily cross-platform engagement, normalized 0–100 to the model's own peak (same convention as Trends).
  • Community mood — per-post transformer sentiment P(pos) − P(neg) ∈ [−1, 1], averaged over all scored posts, mapped to 0–100.

Missing signals: weights renormalize over whatever is present — a model missing resale data is scored fairly on the rest, never implicitly zeroed. Update cadence: search & forecasts nightly (stalest-first); other signals refresh whenever their source runs. Baseline window: each model carries ~269 days of daily history.

Worked example — today's #1

Known limitations — stated, not hidden

  • Resale reads asking prices, not completed sales — sold-price feeds are partner-gated. Asks run slightly above realized sales, and the decile trim only softens that.
  • Google Trends is relative interest within each model's own history, never absolute volume — no score ever compares raw search volume across models.
  • Community mood reads Bluesky, a smaller pond than Reddit or X; Reddit joins with a free key, X's API now bills per read.
  • Instagram/TikTok buzz is modeled from real search momentum — neither platform offers a viable free API, and the card says so.
  • Wikipedia attention, press coverage and boutique sell-through stay outside the Hype Score until a backtest earns them weights.