GEM HUNTING · Reference · Architecture + Data Model
Low-CapSocial Score Dashboard
The job isn't measuring hype — it's separating authentic signal from astroturf and cross-checking social against on-chain reality. Two data lineages run in parallel and converge at the scoring engine, where divergence between them becomes the actual edge. That duality is color-coded throughout.
On-chainSocialScoringAlerts / Risktap to isolate a lineage
I
Component Architecture
L0Discovery & IngestionStreaming + polled collectors, one worker per source. Push raw payloads to the bus.
L3Scoring Engine convergenceThe only layer that reads both lineages. Baselines against the token's own history and a peer cohort, then computes divergence.
Composite score auth · momentum · community · KOL · on-chain riskCohort percentileDivergence detection social ⇄ volume ⇄ priceSignal / alert generation
L4StorageSplit by access pattern: relational core, append-only time-series, and a hot cache for the live view.
Postgres tokens · accounts · KOLs · alertsTimescale / ClickHouse all *_snapshot + mentionsRedis latest scores · leaderboards · countersObject store raw payload audit (optional)
L5ServingQuery for the app, push for live updates, dispatch for outbound alerts.