Command Palette

Search for a command to run...

Transparency

Methodology

Launch Sentinel reports what it has observed, not what it can infer about a product's profile. This page documents the model exactly as it runs: how the liveness census probes the web, how the Pulse Index is computed, how deaths and revivals are detected, and what we do not know. Census figures are computed from the live catalogue and refreshed daily — measured August 26, 2026; the live census board carries the current numbers.

1. The Census

The census is a rolling HTTP sweep of every product with a usable website. Each probe issues a GET (not HEAD— parked and challenge pages often return 200 to a HEAD but give themselves away in the body), follows up to five redirects, times out at ten seconds, and sniffs the first 8 KB of the response. The outcome is classified into one of nine statuses.

StatusBucketWhat it means
aliveAlive2xx/3xx, same apex domain, no parking or challenge markers in the first 8KB of body.
redirected_offsiteRedirectedFollowed to a different apex domain — acquisition, pivot, or domain sale. Counted on its own, never as dead.
dead_404Hard-deadHTTP 404 or 410. The page is gone.
dead_5xxHard-deadHTTP 5xx. The server is erroring, not serving.
parkedHard-deadFinal host is a known parking provider, or the body matches a domain-for-sale pattern.
unknownUnverified4xx without a clear signal (paywall/login), or a network exception. Not evidence of death.
cf_blockUnverifiedCloudflare 403 with a cf-ray, or a challenge page. The probe was blocked, not the site.
timeoutUnverifiedNo response within the 10-second budget. Slow is not dead.
dns_failUnverifiedDNS did not resolve (ENOTFOUND/EAI_AGAIN). Held as unverified, not dead.
The honesty rule
Only dead_404, dead_5xx, and parked count as dead — these are HTTP-verified. A blocked probe, a timeout, a login wall, or a DNS hiccup (unknown / cf_block / timeout / dns_fail) is never counted as a death. Those 23,367 unverified products are reported as unverified, not folded into the dead total. Slow, blocked, or gated is not the same as gone.

Measured August 26, 2026: 90,734 of 93,176 products probed — 47,578 alive, 12,593 hard-dead, 7,196 redirected off-site, and 23,367 unverified. Cadence: the showcase and emerging cohorts are re-probed daily; the full catalogue cycles roughly weekly via an oldest-probed-first shard, so nothing goes unchecked for long.

2. The Pulse Index

Pulse is a 0–100 score built only from observed activity — no profile-completeness input of any kind. It is a fixed-weight blend of four signal families:

pulse = 100 × (0.40·liveness + 0.30·press + 0.20·github + 0.10·tranco)
FamilyWeightDefinition (each maps to [0,1])
liveness0.40From the latest HTTP probe. Alive scores 0.7 + 0.3 × min(consecutive-alive streak, 5) / 5 — a stability bonus that rewards a site that has stayed up across probes, capped at five. Redirected-offsite = 0.4; unverified (unknown/timeout/cf_block/dns_fail) = 0.2; hard-dead (dead_404/dead_5xx/parked) = 0.0.
press0.30Importance-weighted press over the last 90 days: for each linked mention, (importance_score ÷ 5, default 3) × exp(−days_since ÷ 30) — a 30-day exponential decay. The sum is capped at 3 units, then divided by 3 to land in [0,1]. A product with no press contributes 0 and the family is treated as absent.
github0.2030-day star-growth percentile among repositories with a fresh snapshot (≤ 14 days old). If the snapshot pipeline stalls, every repo falls out of the fresh window and this family contributes 0 across the board — by design, so stale data cannot masquerade as signal.
tranco0.10Inverse Tranco-rank percentile: 1 − percent_rank(tranco_rank), so the most-visited domains score near 1.0. Present only for products we have matched to a Tranco rank.

A missing family contributes 0 and is never renormalized. Pulse measures observed activity, so an unobserved family genuinely means less evidence — lowering the score is the honest outcome, not a bug. This is the opposite of the retired signal score, which normalized over present signals and so rewarded thin data.

A pulse is only displayed when at least two signal families are present, and it always renders alongside its families_present denominator. Below two families a product shows its evidence strip instead of a number. Measured August 26, 2026, 90,619 products carry a pulse, but only 16,228 (18%) clear the two-family bar — the rest have liveness alone. There is no backfilled history: rows accrue from the day the index shipped, so the series is 100% real.

Signal coverage today. 82% of the 90,619 scored products carry one family (liveness only) and cannot display a Pulse. The GitHub family depends on daily star snapshots — last snapshot August 26, 2026. A rebuild of the index around five signal families is under way; until it ships, these are the honest limits of what this page ranks.

Validation gate — and why the old score was retired
Rendering Pulse is gated on its correlation with a pure profile-completeness score staying below 0.5 on the ≥2-family display cohort, where the gate recorded corr(pulse, profile_maturity) = 0.06. Re-measured against the full live catalogue in a one-off study on July 4, 2026 (these are that study's figures, not live values): Pulse r = 0.08 (n≈78K) vs r = 0.99 (n≈58K) for the retired Signal Score — which was, in effect, measuring profile completeness and calling it momentum. We built it, we verified it, and we retired it. Pulse passes the gate with wide margin.

3. Observed Transitions

Deaths and revivals are read directly off the probe timeline — never inferred from a score. Only classified probes participate: alive versus hard-dead (dead_404 / dead_5xx / parked). When two consecutive classified probes for a product change class, that flip is recorded — an alive → hard-dead flip is a death, the reverse is a revival. Ambiguous statuses (unverified or redirected) can never produce a transition, which is the false-positive guard.

A transition is marked confirmedonly when the post-flip state still holds at the product's latest probe. Measured August 26, 2026 we have observed 3,672 flips (1,884 deaths, 1,788 revivals), of which 2,364 currently hold.

Revivals slightly outnumber deaths because a transient outage — a 404 during a deploy, a 5xx during a migration — registers as a death and then resolves back to alive on the next sweep. That is exactly why a single dead probe is not treated as a confirmed death: we require the state to still hold at the latest probe before we call it.

4. Survival Analysis

For the 269 products with a documented shutdown and a dated lifespan, we compute a Kaplan–Meier survival curve — S(t) = P(a product lives longer than t months) — overall and per category, plus a Weibull fit whose shape parameter tells us whether a category's mortality is front-loaded, flat, or rising with age.

Conditional-on-death caveat
These 269 products are ones we already know shut down. The curves therefore describe how long dead products lived, not the survival rate of the whole population — the living are not in the denominator. Read it as “given a product died, when did it tend to die,” not “what fraction of launches survive.” The sample is small; the curves sharpen as the census documents more closures.

5. Coverage & Provenance

Every score is only as good as its coverage. Here is exactly what each signal reaches today, and which ones feed the Pulse Index.

SourceCoverage (live)
Liveness census90,734 probed of 93,176 products
Press mentions967 products (2,124 linked mentions; 3,893 crawled)
GitHub stars574 products with a fresh (≤14d) snapshot contributing to Pulse
Tranco rank18,701 products
Documented closuresProducts with a dated lifespan
FundingSparse — not broadly reliable yet
PricingSparse
Ratings (G2 / Capterra)Sparse — top cohort only
  • Most products have exactly one observed family (liveness), which is why the majority of pulses stay below the two-family display bar. Coverage is the constraint, not the algorithm.
  • Funding, pricing, and ratings are too sparse to score honestly, so they feed no score today. When a field is thin, we leave it out rather than dress it up.
  • We have no window into private revenue, internal roadmaps, headcount, or non-public funding. Everything here is derived from public, re-observable signals — a URL you can probe, a mention you can read, a star count you can check.

6. Retired Metrics

Signal Score & Velocity Score — retired July 2026

The old Signal Score correlated 0.92 with a pure profile-completeness measure — it was largely rewarding products with a filled-in profile, not products with real momentum, so it was pulled from every surface. The Velocity Score, derived from the same foundation, went with it. They are replaced by the observed-only Pulse Index (completeness correlation: 0.06). No surface displays the retired scores as a current signal.

7. Use & Limits

Everything on Launch Sentinel is an algorithmic reading of public data, offered as a discovery and triage aid — not a rating to make a decision on, and not financial advice. Coverage is uneven, small samples are labelled as such, and observed signals lag reality by up to a sweep cycle. When we are not sure, the page says so.