RocketScan uses Google Analytics to understand anonymous usage. No account, no personal data. Cookies are only set if you accept.
Walkthrough // features · design · how it works
ROCKETSCAN.LIVE
Grok fuses live X chatter, on-site photos, and weather into a GO / HOLDING / SCRUB call before the official announcement. Ten stops, in demo order - the feature, the engineering under it, and what to do live.
X API v2Grok · xAI or BedrockLaunch Library 2Next.js on LambdaTerraform$0 idle
01
The Launch Globe
Every upcoming launch on Earth, plotted at its real pad coordinates. Dot color is the call: the verdict once analyzed, the official status until then.
▪Schedule + pad lat/lon from Launch Library 2 - one free feed, cached 10 minutes; the vehicle spec sheet + provider flight record ride the same response. Zero extra requests.
▪three.js, self-contained (no CDN, no textures) - GeoJSON coastlines, DPR-aware canvas, pauses when hidden, static under reduced-motion.
▪Verdict colors come from ONE shared style module (lib/verdict-style.ts), imported by both globe and dashboard - the color code can't drift by construction.
Live · Let it rotate a beat, then click a pad - or pick from the list. Lead with a SpaceX mission when there is one.
02
The Call
Grok reads the live X chatter around this launch and calls GO / HOLDING / SCRUB_LIKELY before the official word - with confidence, the competing narratives in the crowd, and a streaming analyst log.
▪One scoped recent-search read: the query is alias-expanded for recall (mission variants, pad codes, vehicle names) but always anchored to this launch. Deep analyses paginate up to 5×100 posts; one widening retry only if the read comes back thin.
▪ONE Grok call carries everything - analyst log streams first, then a delimiter, then the verdict JSON. No second request for reasoning.
▪If Grok or X is unavailable, a transparent keyword heuristic takes over - and the UI labels the source honestly (grok vs mock, live vs fixture). A surface here never claims a state it isn't in.
Live · Click the launch and let the log stream for a few seconds before talking. The silence sells it.
03
The Cost Model
Every analysis is priced on screen: posts read at list price plus Grok's actual token usage off the API response. Radical cost transparency is a feature, not a footnote.
▪X reads are the only real spend ($0.005/post). The counts endpoint bills per REQUEST (~$0.01) - real firehose volume for a penny.
▪Two-layer verdict cache: per-instance memory + a shared DynamoDB table (TTL-reaped). Concurrent misses coalesce on a single-flight map - the Nth simultaneous viewer is free. Cost scales with time × launches, not visitors.
▪Cache TTL tiers by countdown proximity: 5 min inside T-2h, 30 min inside a day, 6h far out. X's same-UTC-day read dedup makes repeat deep reads mostly free.
Live · Point at the cost HUD line items under the verdict. One sentence: 'cost scales with launches, not users.'
04
Weather Ground-Truth
Most scrubs are weather. The app checks the sky itself - observed AND forecast - and correlates it with what the crowd is claiming.
▪Two free, keyless sources: the real METAR at the nearest station (aviationweather.gov) for observed conditions, and Open-Meteo queried by the pad's own coordinates for the launch window.
▪The forecast layer reads what surface reports can't see: 250hPa upper-level jet winds and CAPE-driven lightning risk - the Lightning Launch Commit Criteria that actually scrub launches.
▪Overall concern = worst(observed, forecast). Because Open-Meteo is by-coordinate, every pad on Earth gets real data.
Live · It auto-loads under the verdict: traffic light, wind gauge vs the 20/30kt red-lines, forecast block. Ten seconds, move on.
05
The Manipulation Detector
The hard question on X data: is this chatter organic? A coordination screen runs on every analysis - and when a botnet seeds a fake scrub rumor, the verdict discounts it instead of repeating it.
▪Transparent statistical thresholds, no black box: fresh-account ratio, temporal burst, verbatim-text duplication, low-follower ratio - computed from the same posts already paid for.
▪The graph draws TRUE interaction edges - retweet, quote, and reply targets off the referenced_tweets expansion, a free ride-along on the same read.
▪In the botnet scenario the panel trips COORDINATED and both Grok and the heuristic drop the scrub call to ~35% confidence. Same instinct as catching stolen IPv4 blocks in the registries - bad actors abusing shared systems.
Live · For the guaranteed version open /?scenario=botnet (deterministic, free, labeled as forced) and click any launch - then open the network panel and the starburst.
06
The Credibility Engine
Not all chatter is equal. Every author is tiered - official, press, pad photographer, established, anonymous, day-old - and the call is weighted accordingly.
▪Data-driven, not just a hardcoded roster: known-account roster, then X identity verification (government/business verified_type floors an account at established; paid blue earns nothing), then bio-mining, then account age + followers.
▪Deterministic and zero-cost - it rides the user.fields expansion on the read already made.
▪One verified pad observer outweighs a swarm of fresh accounts - which is exactly what defuses the botnet scenario above.
Live · Open the credibility panel; point at the tier chips on real authors.
07
The Wider X-API Surface
Three panels almost no app builds, each on a different endpoint: real firehose volume, insider timelines, and live audio Spaces about this launch.
▪MOMENTUM - the counts endpoint: TRUE hourly post volume for the launch query over 7 days, billed per request (~$0.01) no matter how many posts match.
▪INSIDER WATCH - batch user lookup + timelines for the roster's top accounts (press, photographers, the provider), cached 10 min, on-topic detection vs the launch.
▪SPACES - the spaces/search endpoint: live + scheduled watch-parties with listener counts, a real-time attention read for about a penny.
▪All three are lazy (a click, never automatic), cached, and self-metered.
Live · Tap MOMENTUM - the ×N-vs-baseline hero and the hourly bars. Mention the other two; open them only if asked.
08
Spend Controls
No accounts by design (no PII, read-only) - so abuse control IS spend control. Four fail-closed layers stand between the public internet and the bill.
▪Layer 1: per-IP + per-instance rate ceilings on every cost-bearing route. Layer 2: a global daily cap on paid analyses, charged at the single chokepoint every caller passes through.
▪Layer 3: the cache-bypass (?refresh=1) is operator-key gated and fail-closed - an anonymous force flag is ignored, not errored; the caller gets the cached read.
▪Layer 4: an AWS Budget ladder (50/80/100% + forecast) with immediate cost-anomaly alerts - the backstop that watches the actual bill.
▪Every live X call is self-metered to the X SPEND panel: posts read, what the 24h dedup made free, estimated dollars.
Live · Open X SPEND. This is the stop to slow down on - the audience owns this API's bill.
09
Accountability
A forecaster you can audit: historical replays and a scored backtest, so the call is checkable - not vibes.
▪War-room replay: Artemis I replayed frame-by-frame - the crowd call flips GO → HOLDING → SCRUB about 50 minutes ahead of the official announcement; a second case catches a seeded rumor and re-commits to GO.
▪Backtest: resolved launches scored against official outcomes - accuracy, Brier score, reliability bins, median lead time.
▪Both run on the cost-free heuristic over modeled chatter - deterministic, zero spend, honest about being modeled.
Live · Run the scrub replay if time allows - it's the encore, not the opener.
10
The Architecture
One engine, any domain - and one code path, either Grok provider. Rockets are the demo, not the product.
▪Next.js 16 App Router on Lambda (OpenNext) + S3/CloudFront + DynamoDB, all Terraform. Serverless because launch traffic is the definition of spiky - scale-to-zero between windows.
▪The Grok client is provider-agnostic: api.x.ai or Grok on Amazon Bedrock (SigV4, no API key to distribute) through the SAME code path - every Grok surface flips providers with one env var.
▪The pipeline is config, not code: schedule feed → scoped X read → credibility + coordination screen → Grok call. Swap the domain config and the same engine calls earnings, FAA actions, sports, elections.
Live · Click the domain chips - watch the pipeline re-map live. Then stop talking and take questions.
URLs · memorize the shapes
Open
rocketscan.live
Guaranteed botnet beat
/?scenario=botnet
Forced beats
?scenario=go · holding · scrub
Deep link
/launch/<id> (unfurl-ready)
Replays
artemis1-scrub · artemis1-launch
Scenario runs are free, memory-cached, never persisted. If a live read degrades on stage (402/429 → labeled fixtures), narrate it: honest failure surfacing is the design invariant - a live degradation is a better demo than a clean run.