How ScrollLaunch's Weekly Rankings Work (and Why We Built Them This Way)

ScrollLaunch exists because most launch sites solve the wrong problem: they reward the **day** you launched, not the **quality** of your product over the full cycle of a launch.

Our answer: **weekly rankings that freeze when the week ends.** Here's exactly how that works, why we built it this way, and what it means for you if you're planning to [launch on ScrollLaunch](/dashboard/products/new).

## The short version

1. The week starts Monday 00:00 UTC and ends Sunday 23:59:59 UTC (ISO week).
2. Products launched in that week compete against each other.
3. Ranking during the week: **premium listings first, then upvotes, then recency**.
4. At the end of the week, we run a stabilizing cron that **snapshots** the ranking.
5. Past-week pages display the snapshot — they **never reshuffle**, even as upvotes continue to arrive.

That's it. No black-box score, no mysterious "trending" boost, no time-decay gymnastics.

## Why weekly?

Single-day launches punish founders for bad timing and reward noise. If you launched on the wrong Tuesday against a hyped-up AI tool, you lost regardless of your product quality.

A week-long window smooths that out. You still need to show up on day 1, but a stellar product that builds momentum on Thursday still has 3 days to climb.

## Why freeze past weeks?

Imagine launching your product, landing at #3 in Week 14, and then checking back three months later to find you're now #7 because newer upvotes shuffled things. That's insulting.

More importantly: **the weekly leaderboard page itself is an SEO asset.** When "your company weekly launch" shows you at #3 in Week 14 permanently, that Google result compounds for years. A constantly-reshuffling leaderboard erodes that value.

So the cron runs every Monday at 00:05 UTC and freezes the previous week's rankings. The resulting page never changes position order again.

## How ties break

Two products with the same upvote count? We apply, in order:

1. **Premium listing** (premium > free) — transparent pay-to-play, we don't hide it
2. **Comment count** — engagement is a stronger quality signal than upvotes alone
3. **Unique viewer count** — genuine interest, not bot traffic
4. **Creation time** — earlier submissions get the nod

This order is deliberate. Upvotes are easy to game, comments harder, unique viewers harder still. By the time we fall through to creation time, we've exhausted the cheap gaming vectors.

## How we prevent gaming

- **One vote per user per product.** Anonymous upvotes are allowed but heavily throttled by IP + device fingerprint.
- **Email-verified accounts** count more in tie-breakers.
- **Detected upvote bursts** (e.g. 40 votes in 2 minutes from the same ASN) are flagged for review.
- **New-account votes are weighted down** for the first 48 hours to prevent brigading.

We publish these rules because trust is the whole point of a rankings site. If you game them, we'll find out and quietly remove your product — but we'd rather you just ship a good product and win legitimately.

## The snapshot contract

When your week ends, here's exactly what gets written to MongoDB:

```json
{
"week": "2026-W14",
"totalProducts": 42,
"rankings": [
{ "slug": "your-product", "rank": 3, "upvotes": 127 },
...
],
"computedAt": "2026-04-06T00:05:23.000Z",
"computedBy": "cron-weekly-rankings"
}
```

That JSON is the source of truth for every past-week page on the site and for your **permanent badge**. The badge HTML you can embed on your site references this snapshot and updates the `rank` attribute when the snapshot first writes, then never again.

## What if the cron misses a run?

Rare, but covered. If someone loads a past week and no snapshot exists, the page computes rankings with the exact same algorithm the cron uses and writes the snapshot in the background. So the first visitor locks it in — but the logic is identical, so the result is the same whether the cron or a page view did it.

## The practical implication for you

Launch on Tuesday or Wednesday of the ISO week you want to compete in. Collect upvotes through Sunday. Your rank will lock in early Monday UTC and become a permanent SEO-friendly URL you can link to on your own site, in your pitch deck, and in your announcement emails.

[Submit your product to ScrollLaunch →](/dashboard/products/new)

## FAQ

### When does the ISO week start and end?

Monday 00:00 UTC to Sunday 23:59:59 UTC. So in California, the week starts Sunday 4pm local time and ends Sunday 3:59pm the next Sunday.

### Can I still get upvotes after the week ends?

Yes — users can keep upvoting indefinitely. Your total upvote count keeps growing on your product page. But your **position on that week's leaderboard** is frozen after the snapshot.

### What if I get featured in Week 14 but upvoted more in Week 15?

Your rank on Week 14's page stays at whatever it was when the snapshot was taken. You can launch the *next* version of your product in Week 15 for a fresh competition, but that's a separate product listing.

### Do premium listings always rank first?

Yes, within a week's leaderboard. It's a transparent paid signal. We could hide it behind a black-box "quality score" — we chose not to. If you see a premium product above a free one with more upvotes, that's by design, and you now know the rule.

### How is ScrollLaunch different from Product Hunt?

Product Hunt rewards the single day you launched. ScrollLaunch rewards the whole week and gives you a permanent URL that ranks on Google for your product-related queries long after launch.

### Can I launch more than once?

Yes — significant product updates (v2.0, a new flagship feature, a major pivot) can re-launch in a new week. But we don't allow identical relaunches. If in doubt, email us before submitting.