StealThis .dev

LMS — Progress Ring

A self-contained set of progress meters for e-learning interfaces. The centerpiece is an animated SVG circular ring with a gradient stroke and a count-up percentage at its core, paired with quick-set buttons that re-draw the fill and update the lesson tally. Alongside it sit a linear XP and level meter that handles level-ups, plus a responsive grid of per-module cards combining mini progress rings, linear bars, completion pills, and a friendly toast helper.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Progress Ring

A friendly completion meter built for a focused-reading LMS. The hero is a large SVG progress ring with a brand-to-success gradient stroke and rounded line caps; its center holds a bold count-up percentage and a “complete” label. A row of quick-set chips snaps the ring to 0, 25, 50, 70 or 100 percent, animating the stroke offset while the lesson tally and active chip stay in sync. A “complete lesson” button advances progress one lesson at a time and confirms each step with a toast.

Below the hero, a linear XP and level meter fills a gradient bar toward the next level. The “+120 XP” button accumulates points, rolls the bar over on a level-up, and bumps the level badge with a celebratory toast. The remaining-XP caption recalculates on every tap.

A responsive grid of module cards rounds it out. Each card pairs a small progress ring with a linear bar, color-coded amber, brand or green by completion, and shows a completed or in-progress pill with its lessons-done count. Rings and bars animate in on load with a slight stagger, and the whole layout collapses gracefully down to a narrow mobile column. Motion is disabled for users who prefer reduced motion.

Illustrative UI only — fictional courses, not a real learning platform.