Leaderboard Card

Ranked learner leaderboard by score. On GAS reads live from the course progress Sheet via a2uiCohortRead, extracts scores for score_key, and ranks descending. On web renders from static items[]. Top 3 entries get gold/silver/bronze medal indicators. Per-row score bar visualises relative performance.

Surfaces
apps-script-webwebmeet-stage
Fields
FieldType
course_idstring (required). Matches progress_store course_id.required
score_keystring. Which quiz score to rank on. Default "quiz1".optional
limitinteger. Max entries shown. Default 10.optional
titlestring. Card heading. Default "Leaderboard".optional
itemsarray (optional, web/static). Array of {name, score} objects for static rendering.optional
Example payload
{
  "type": "leaderboard_card",
  "course_id": "course-101"
}
ARD catalog entry
{
  "identifier": "urn:air:a2uicatalog.ai:atom:leaderboard_card",
  "displayName": "Leaderboard Card",
  "type": "application/vnd.a2ui.atom+json",
  "url": "https://a2uicatalog.ai/atoms/leaderboard_card",
  "capabilities": [
    "apps-script-web",
    "web",
    "meet-stage"
  ],
  "description": "Ranked learner leaderboard by score. On GAS reads live from the course progress Sheet via a2uiCohortRead, extracts scores for score_key, and ranks descending. On web renders from static items[]. Top 3 entries get gold/silver/bronze medal indicators. Per-row score bar visualises relative performance.",
  "representativeQueries": [
    "show a ranked score leaderboard \u2014 live on GAS from Sheet, static on web; medal top 3",
    "ranked learner leaderboard by score. on gas reads live from the course progress sheet via a2uicohort",
    "render a leaderboard card"
  ]
}
← Full ARD catalog Try it live →
Deploy your own renderer

The renderer is open source. Deploy your own instance in 4 commands — you own the URL, no dependency on the demo endpoint.

git clone https://github.com/a2uicatalog/a2ui
cd apps-script-surface/gas-schema-renderer
clasp push && clasp deploy
Full deploy guide →