Work / Learning Platform / Wiki / Concepts
course-as-code
Conceptcanonicalverified 2026-10-04
CONCEPT.COURSE-AS-CODESummary
Course content lives in the instructor's GitHub repository; the database holds only metadata.
Why it matters
It is the product's one unusual choice, and it decides what the screens can do. Content is versioned and reviewable because it is a repository. The price is that the app cannot edit it.
Implications
- There is no editor. questions is read-only and says so.
- Nothing changes until someone presses Sync. See sync-status.
- Lesson text is read from the clone on each request. On Vercel the clone is lost on a cold start; task 5.10 of FEAT-0005 is the fix.
- Slide bodies, question text and code are never written to Postgres.
- The access token is encrypted before it is stored and never sent back to the browser.
Related
- course-repository — what the repository must contain
- lesson-phases — how a lesson is cut up
- link-course — where a repository is linked
- dashboard — where it is synced
Sources
- .claude/rules/50-content-model.md
- .context/ops/runbooks/deployment.md