StealThis .dev
Pages Hard

LMS — Classroom Player

A focused e-learning classroom built in vanilla JS: a video player area with poster, scrubber, speed and caption controls, plus a sticky curriculum sidebar that highlights the current lesson and tracks check-offs. Below sit tabbed panels for an interactive click-to-seek transcript, autosaving notes with timestamp insertion, downloadable resources, and a class Q&A thread. Switching lessons updates progress rings and bars, and mark-complete advances to the next item.

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

Code

Classroom Player

A self-contained learning classroom for the fictional course Modern CSS Layout Mastery. The stage shows a poster-style player with a play overlay, a draggable scrubber, running time, playback-speed cycling, and a caption toggle. A right-hand curriculum sidebar groups eight lessons into three modules, marks the active lesson with a brand accent, and shows completion check-offs alongside a live progress bar and a course-completion ring in the header.

Everything is wired with vanilla JavaScript. Clicking a lesson loads it and scrolls the player into view; transcript lines are click-to-seek and stay in sync with the simulated playhead; the notes tab autosaves state and can insert the current timestamp; and the Q&A tab accepts new questions and upvotes. Pressing Mark complete records the lesson, recalculates the ring, bar and percentage, then advances to the next item — finishing the last lesson celebrates course completion.

The tabs below the player swap between transcript, notes, resources, and Q&A panels, and an optional study mode flips the interface into a calm dark theme for longer reading sessions. All interactions surface a small toast for feedback.

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