Contribution Leaderboard

Ranks community contributors — cards, summaries, analytics, and other research contributions — by a blended helpfulness score, and shows each contributor's unlock tier, earned badges, and current daily-quest streak.

  • Route: /coaching/leaderboard
  • Package: debate-card-search

What it shows

ColumnSource
RankbuildLeaderboard's sort order
ContributorcontributorId
Tiernovice/apprentice/veteran/expert
ContributionsCount of persisted contributions
Total/Avg scoreBlended helpfulness score
StreakCurrent consecutive-day quest streak
BadgesTier + streak-milestone badges

A Range filter (All time/This week/This month) and a Category filter re-derive the whole roster. Each row has a "History" toggle showing endorsement history.

Data flow

state/contributions.ts (localStorage)
  → buildPersistedLeaderboard()
  → buildContributorUnlockStatusWithStreakFromStore()
  → panels/ContributionLeaderboardPanel.tsx
  → apps/debate-ai.com/app/cards/leaderboard/page.tsx

Known gaps

  • No reviewer-identity/permission checks (no auth/roles in this repo yet).
  • "My endorsement activity" only appears for a signed-in visitor.