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.
| Field | Type | |
|---|---|---|
| course_id | string (required). Matches progress_store course_id. | required |
| score_key | string. Which quiz score to rank on. Default "quiz1". | optional |
| limit | integer. Max entries shown. Default 10. | optional |
| title | string. Card heading. Default "Leaderboard". | optional |
| items | array (optional, web/static). Array of {name, score} objects for static rendering. | optional |
{
"type": "leaderboard_card",
"course_id": "course-101"
}
{
"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"
]
}
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 →