Course Progress Card

Overall course completion card showing a list of modules with individual progress bars and a top-level aggregate progress ring. Each module row shows its title, lesson count, and percentage complete. Suitable for a course sidebar or dashboard widget.

Surfaces
webmeet-stagepdfapps-script-web
Degraded on
SurfaceNote
googlechatRenders as a plain text list of module titles and completion percentages
emailCSS progress bars stripped — renders as a static text list with percentages
Fields
FieldType
course_titlestring. Course name shown at the top of the card.required
moduleslist[{title: string, lessons_total: integer, lessons_done: integer}].required
accentstring. Progress fill colour. Default "#6366f1".optional
Example payload
{
  "type": "course_progress_card",
  "course_title": "Course title",
  "modules": 75
}
ARD catalog entry
{
  "identifier": "urn:air:a2uicatalog.ai:atom:course_progress_card",
  "displayName": "Course Progress Card",
  "type": "application/vnd.a2ui.atom+json",
  "url": "https://a2uicatalog.ai/atoms/course_progress_card",
  "capabilities": [
    "web",
    "meet-stage",
    "pdf",
    "apps-script-web"
  ],
  "description": "Overall course completion card showing a list of modules with individual progress bars and a top-level aggregate progress ring. Each module row shows its title, lesson count, and percentage complete. Suitable for a course sidebar or dashboard widget.",
  "representativeQueries": [
    "show a course-level progress card with per-module bars and aggregate completion ring",
    "overall course completion card showing a list of modules with individual progress bars and a top-lev",
    "render a course progress 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 →