Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solana Narrative Radar

An explainable, agent-built tool that detects emerging narratives and early signals in the Solana ecosystem and turns them into concrete build ideas. Runs on free public APIs only — no API keys required.

Live dashboard: https://k4it00.github.io/narrative-radar/ Latest fortnight report: reports/2026-09-08_fortnight.md

Quickstart

python3 run.py            # zero third-party dependencies (stdlib only)
# outputs:
#   reports/<date>_fortnight.md   - human-readable fortnight report
#   site/index.html + data.json   - static dashboard
#   data/signals.json             - raw collected signals (audit trail)

Optional: GITHUB_TOKEN (or gh auth token if the GitHub CLI is installed) raises GitHub Search rate limits from 60 to 30 req/min.

Data sources

Source What it provides Why it matters for narratives
GitHub Search API new repos (created:>date), push velocity, topic queries (solana-agent, solana+defi, solana+depin, anchor-framework, paymaster) Developer intent precedes product launches; repo creation spikes are the earliest durable signal
Hacker News (Algolia API) Solana/Jupiter/Jito/Anchor/pump.fun stories, points + comments Non-crypto-native technical community attention
Reddit r/solana (RSS) community hot posts Retail/community sentiment; note: RSS endpoints rate-limit aggressively, the collector retries and degrades gracefully
DexScreener API token boosts, top boosts, new token profiles (Solana only) Paid boosts and fresh profiles are literal spend-on-attention signals from launch teams
Superteam Earn API live bounty/project listings with rewards and skills What sponsors are paying builders to ship right now — a forward-looking demand signal
Cointelegraph (Solana tag) + CoinDesk RSS filtered news flow Mainstream coverage confirms narratives already forming elsewhere

Explicit limitation: X/KOL firehose data (Mert, Toly, Akshay, …) is not accessible without paid auth; this build trades that coverage for a fully keyless, reproducible pipeline and leans on HN + GitHub as the developer-attention proxy. Messari/Electric-Capital style reports are periodic PDFs, not real-time feeds, so they are not machine-collected here.

How signals are detected and ranked

  1. Collect — each source returns weighted Signals (weight encodes source confidence: stars, points, boost tier, reward size).
  2. Vectorize — signals are tokenized, stop-worded, and weighted by idf(t) = log((n+1)/(df+1)) + 1, L2-normalized. Tokens appearing in more than max(12, n/8) signals (e.g. "solana", "crypto") are dropped as non-discriminative.
  3. Cluster — greedy centroid agglomeration (average-linkage flavor): each signal joins the most similar existing cluster at cosine similarity ≥ 0.16, else seeds a new one. Transitive over-merging that plagues pairwise union-find is avoided by construction.
  4. Scorescore = Σ weight·recency × source-diversity, where recency = 0.5 + 0.5·e^(−age_days/14) and diversity = 1 + 0.5·(distinct_sources − 1). A narrative must either span ≥ 2 sources or clear the score floor (6.0).
  5. Explain — every narrative ships with its top raw signals (titles, sources, links) so any claim is auditable, plus label tokens that actually occurred in ≥ ⅓ of member signals.
  6. Ideas — the dominant category of each cluster (agent/defi/memecoin/ depin/payments/rwa/infra/security/consumer lexicon over labels + summaries) selects 3 build ideas, each tied to named evidence from the cluster.

Prioritization is novelty / signal quality / explainability over volume: small clusters without cross-source corroboration are filtered out rather than padded.

Detected narratives (current fortnight)

See the live dashboard and reports/ for the full ranked list with evidence. Highlights from the current run are regenerated by python3 run.py — narratives are re-derived from live data on every run, never hard-coded.

Build ideas (current run)

Each narrative in the report carries 3 build ideas with a "why now" rationale and the named signals backing it. The ideas pipeline is data-driven: idea categories are selected by cluster composition, and each idea cites the concrete repos/tokens/listings that triggered it.

Reproduce

git clone https://github.com/k4it00/narrative-radar
cd narrative-radar
python3 run.py                 # ~30-60s, writes report + dashboard

Refresh cadence: designed for fortnightly runs (recency half-life tuned to 14 days); cron-friendly, no state, fully idempotent.

License

MIT