StealThis .dev
Pages Medium

LMS — Gradebook

An instructor gradebook for an online course platform, built as a students-by-assignments matrix. Color-coded score cells show grades, pending submissions, and missing work at a glance, with a sticky student column and per-assignment class averages in the header. A cohort filter and search narrow the roster, and clicking any cell opens a grading drawer with the submission, a weighted rubric, a feedback box, and a grade input that writes straight back into the matrix and recomputes averages live.

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

Code

Gradebook

An instructor-facing gradebook for an online course. The screen is a scrollable matrix of students down the side and assignments across the top, with a sticky first column and a header row that carries each assignment’s weight and live class average. Every cell is color-coded — green for strong scores, amber for borderline, red for missing, and a soft slate for submissions still waiting to be graded — so the state of the whole cohort reads at a glance. A toolbar offers a cohort dropdown, a name search, and summary stats for the filtered view.

Clicking a cell opens a grading drawer for that student and assignment. The drawer shows the submission preview, a weighted rubric you can score criterion by criterion, a feedback textarea, and a final grade field. Saving writes the new score back into its cell, repaints the color band, and recomputes both the per-assignment average and the overall class average instantly. Rubric points auto-total into a suggested grade, and a toast confirms each save.

Everything is vanilla JavaScript with no dependencies, keyboard-usable, and responsive down to ~360px, where the toolbar stacks and the matrix scrolls horizontally while the student column stays pinned.

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