Spec — Udemy restructure & publish

2026-refresh › udemy-publish · feature · created 2026-08-05 · spec · plan.html

The big bang: the merged curriculum built in Udemy's course manager as unpublished drafts, every finished file uploaded, titles and metadata applied — then one publish day that lands the new curriculum, the refreshed landing page, responses to both AI Content-Quality flags and the "outdated" reviews, the student announcement to both courses, and the Asynchronous JavaScript course's marketplace unpublish. The freshness signal arrives as one event, per the July decision.

Problem

P1Everything upstream produces files; only Udemy makes them a course — and nothing student-visible may change until it all changes at once.
The manifest's ~100 finished lectures need structure, upload, ordering, titles, quizzes and captions inside course 670034 — executed as drafts, invisible until publish day.
P2The income threat has clocks on it — two open AI flags, "Last updated 2/2020" on the public page, UB curation running monthly.
Publish day is the answer to the flags and the reviews; the responses and the date bump are part of the event, not afterthoughts.
P3Existing students must be carried, not broken — 44.5k on Advanced, 7.5k on Async, with progress and expectations.
Replaced videos must keep their lecture IDs (progress survives); Async students keep access and get told where their content now lives; the duplicate-content rules mean the Async marketplace unpublish happens at — never before — publish.

Solution at a glance

J0Drafts for weeks, one loud day. Restructure and upload from the manifest as unpublished changes; QA end-to-end in preview; then a scripted publish-day checklist runs the visible changes in order — curriculum live, landing page, flag responses, review responses, announcement to both student bodies, Async unpublish — and a light monitoring routine watches UB revenue, reviews and flag status for three months.

Job stories

J1 · While the drafts build

J1.1The curriculum manager mirrors the manifest exactly — sections, order, every upload attached to the right lecture, IDs preserved for replacements
Renames applied (all "- NEW" stripped, typo fixes, question-format titles), dead drafts deleted, quizzes renumbered, new lectures' resources attached (workshop files), captions regenerated/fixed where known-garbled.
J1.2Nothing students can see changes before the day — drafts and unpublished changes only, verified as such
The July constraint, held to the end.

J2 · Before the day

J2.1The whole course is watched in preview before anything goes live — order, references, cards, audio boundaries; QA notes per section
The 2× watch-through from the July plan: adjacency references still true post-reorder, card joins clean, loudness consistent at era boundaries.

J3 · On the day and after

J3.1Publish day is a checklist, not a scramble — the visible changes land in a fixed order with the messaging pre-written
Curriculum → landing page (interview positioning kept, ES2026/event loop/Interview Lab added, advjs.asim.dev linked) → flag responses → review responses → announcement to both courses → Async marketplace unpublish. All copy drafted and approved beforehand.
J3.2We know within weeks whether it worked — UB revenue, new reviews, flag status checked monthly for three months
Baseline recorded (~$300–400/mo, 4.52★); success = revenue holds, no new "outdated" reviews, flags cleared, rating ≥ 4.4.

Constraints

Deferred to plan

Which promo video is currently live, and what replaces it
Why it must wait: the 2016 "music" promo vs the recovered 2020 v02.mp4 question (open in the July spec) — checked in the course manager at plan time; the new intro likely supersedes both.
Upload mechanics at this volume
Why it must wait: bulk uploader behaviour, caption regeneration timing and per-lecture replacement flow need verifying in the instructor UI before the plan commits to an order of operations.

Decisions

Big-bang publish — one event, no drip
July decision, standing: the freshness signal (date, curriculum, responses, announcement) lands once, loudly.
Interview-prep positioning is retained on the landing page
July decision, standing — the differentiation the ratings were built on.

Estimated files / edits

Size: M — metadata pack (titles, descriptions, responses, announcement), publish-day checklist, QA notes; the heavy lifting is careful hours in the course manager.