StealThis .dev
Pages Hard

LMS — Course Builder

A focused, three-pane course builder for an online learning platform. A reorderable module and lesson tree on the left drives a center lesson editor with title, type, a mock video uploader, content, and a free-preview toggle, while a right rail handles pricing, difficulty levels, category, and tags. Drag modules and lessons to reorder, check lessons off, watch live curriculum stats and a completion bar, then save or publish with friendly toasts and a draft-to-published status pill.

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

Code

Course Builder

An instructor-facing builder for assembling a course, laid out as three working panes under a sticky publish bar. The left Curriculum panel is a collapsible tree of modules and lessons with drag grips, lesson-type emoji, per-lesson minute badges, round check-offs, and a live completion bar. The center pane is the lesson editor — a large title field, a type selector (video, reading, quiz, assignment), a duration stepper, a drag-and-drop mock video uploader with a simulated progress bar, a lightweight markdown toolbar over the content area, and a free-preview switch. The right rail collects course settings: paid/free pricing, difficulty levels, category, removable tags, and a running module/lesson/minute stat block.

Everything is vanilla JavaScript. You can add and remove modules and lessons, drag to reorder both, rename modules and the course title inline, and check lessons complete — each action recomputes the stats and completion percentage in place. Editing any field flips the status pill back to Draft and runs a faux autosave indicator; Publish validates that lessons exist, pops the pill to Published, and fires a toast. Duplicate, delete, upload, and tag actions all surface concise toast feedback.

The grid collapses gracefully: the settings rail drops below at tablet widths and the whole thing stacks into a single mobile-friendly column down to ~360px, with full keyboard support for lesson selection and check-offs.

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