Phase 6: Course Architecture Plan

Status: Design document — pending approval before implementation.


Overview

Phase 6 adds a full course layer to seekersabodepl.com, transforming the “Coming soon” cards into live course detail pages with module-by-module structure, curated readings from the library, thinker cross-references, and an LMS integration strategy.

What exists now

  • 5 course “Coming soon” cards on the /courses/ page (from data/courses.yaml)
  • Static site with Hugo, Pagefind search, 75 library entries, 35 thinker profiles
  • No user accounts, no enrolment, no progress tracking

What Phase 6 delivers

  • Individual course detail pages with module breakdowns
  • Each module linked to relevant library entries and thinker profiles
  • Course-level reading lists auto-curated from the library
  • A clear migration path to a full LMS (holisticconsciousness.in) without building one from scratch

1. Course Information Architecture

1.1 Content types

TypeDescriptionFields
CourseA full-length learning path with N modulestitle, slug, tagline, description, domains[], level, icon, status (draft/published), estimated_hours, prerequisites
ModuleA unit within a course — 1–3 learning hourstitle, description, order, readings[], thinkers[], reflection_prompts[]
ReadingA link to a library entry assigned to a modulelibrary_slug, order, required/optional, notes
AssessmentA check for understanding at module endtype (quiz/reflection/project), prompt, answer_key (private)

1.2 Data model for data/courses.yaml

courses:
  - title: "Foundations of Consciousness Studies"
    slug: foundations
    icon: "📚"
    level: beginner
    estimated_hours: 16
    prerequisites: []
    status: draft
    modules:
      - title: "What Is Consciousness?"
        order: 1
        description: "Defining the term, mapping the problem space"
        readings:
          - library_slug: "what-is-it-like-to-be-a-bat"
            required: true
            notes: "The classic starting point — Nagel's bat paper"
          - library_slug: "facing-up-to-the-problem-of-consciousness"
            required: true
            notes: "Chalmers' framing of the hard vs. easy problems"
        thinkers:
          - "Thomas Nagel"
          - "David Chalmers"
        reflection: "What aspect of consciousness do you find most puzzling? Why?"

1.3 File structure for course pages

content/
  courses/
    _index.md                      ← the listing page (already exists)
    foundations/
      _index.md                    ← course detail page (frontmatter + description)
    science-spirituality/
      _index.md
    meditation-brain/
      _index.md
    hard-problem/
      _index.md
    consciousness-ai/
      _index.md

data/
  courses.yaml                     ← course + module definitions (already exists)
  readings.yaml                    ← optional: reading→course mappings

2. Page Structure

2.1 Course listing page (/courses/)

Already redesigned. Shows 5 “Coming soon” cards with icon, description, module count, level, domains, topics. The Phase 6 upgrade swaps the “Coming soon” badge for an active “View course →” button.

2.2 Course detail page (/courses/{slug}/)

┌─────────────────────────────────────────┐
│  Breadcrumb: Home / Courses / Title     │
│                                         │
│  ┌──────────────┐                       │
│  │  📚           │  FOUNDATIONS OF...   │
│  │               │  Tagline             │
│  └──────────────┘                       │
│                                         │
│  ● 8 modules    ● Beginner    ● 16 hrs  │
│                                         │
│  ─── Description ───                    │
│  Long-form description of the course.   │
│                                         │
│  ─── What You'll Learn ───              │
│  • Define consciousness across trad.    │
│  • Distinguish hard vs. easy problems   │
│  • Compare GWT, IIT, Predictive Proc.   │
│                                         │
│  ─── Module 1: What Is Consciousness? ──│
│  ┌────────────────────────────────┐     │
│  │ Required readings:             │     │
│  │ 📖 What Is It Like to Be a Bat │     │
│  │ 📖 Facing Up to the Problem…   │     │
│  │                                │     │
│  │ Thinkers: Nagel, Chalmers      │     │
│  └────────────────────────────────┘     │
│                                         │
│  ─── Module 2: The Hard Problem ───     │
│  ...                                    │
│                                         │
│  ─── Prerequisites ───                  │
│  None — suitable for beginners.         │
│                                         │
│  [View on holisticconsciousness.in]     │
│  [Download course outline (PDF)]        │
└─────────────────────────────────────────┘

2.3 Module reading card design

Each module shows:

  • Module number (circular badge)
  • Title
  • Description (2–3 sentences)
  • Required readings — linked library entries with 🌱 seed indicator if applicable
  • Optional readings — smaller style
  • Related thinkers — profile links
  • Reflection prompt — italicised quote style

2.4 Template structure

layouts/
  courses/
    list.html              ← /courses/ listing (already done — single.html)
    single.html            ← /courses/{slug}/ course detail (Phase 6 new)
  partials/
    course/
      hero.html            ← course header with icon, level, modules
      module-card.html     ← individual module with readings
      reading-item.html    ← single reading with link + seed status
      course-sidebar.html  ← prerequisites, action buttons

3. Library Reading Integration

3.1 How it works

Each module’s readings[] references a library_slug — the same slug used in content/library/{domain}/{slug}.md. The template looks up the page by slug and renders its title, author, summary, and status (seed/reviewed).

3.2 Lookup mechanism

Hugo has no built-in “lookup page by slug” function, so we have two options:

Option A — Shortcode (recommended for Phase 6):

Create a reading shortcode that takes a library slug:

{{< reading "what-is-it-like-to-be-a-bat" required=true >}}

The shortcode:

  1. Iterates .Site.RegularPages filtered by Type "library"
  2. Finds the page where .Page.Params.slug matches
  3. Renders title, author, summary, seed status badge, link

Option B — Partial with page loop:

Create a partial course/reading-item.html that receives library_slug and required and runs the same loop.

Recommendation: Shortcode for inline use in course markdown; partial for the YAML-driven approach (data-driven modules render via partial).

3.3 Seed awareness

When a reading entry is status: "seed", the course page shows:

📖 What Is It Like to Be a Bat 🌱
   — Thomas Nagel (1974) | Seed entry — not yet reviewed

This lets students know which readings are still awaiting editorial review. It also creates implicit pressure to review seed entries that block course reading lists.

Each library entry could optionally list which courses contain it as a reading:

# In library entry frontmatter:
courses:
  - "foundations"
  - "hard-problem"

This enables a “Found in these courses” section on library entry detail pages.


4.1 Course→Thinker linking

Each module’s thinkers[] field lists thinker names. The course page renders them as links to /thinkers/{slug}/. For courses with 10+ modules, a “Key thinkers” sidebar aggregates all unique thinkers across all modules.

Thinker profile frontmatter gains:

courses:
  - "foundations"
  - "science-spirituality"

Then the thinker profile page shows “Taught in these courses” with links.

4.3 Domain cross-reference

A course’s domains[] field connects it to the domain landing pages. Each domain page can then show:

Courses in this domain:
  📚 Foundations of Consciousness Studies
  ❓ The Hard Problem: Consciousness Explained?

5. LMS Integration Strategy

5.1 Principle: Don’t rebuild an LMS

seekersabodepl.com is a knowledge directory — a reference library with curated pathways. It should NOT become a full LMS. Instead:

  1. Static course pages on seekersabodepl.com provide the syllabus, readings, and thinker context
  2. holisticconsciousness.in handles enrolment, progress tracking, assessments, certificates, and community (if it has those features)
  3. The two platforms link to each other — no SSO, no data sharing

5.2 Integration points

seekersabodepl.com (Phase 6)holisticconsciousness.in (future)
Course detail page with syllabusFull course with video, quizzes
Reading links to libraryFull supplementary materials
Thinker context pagesDiscussion forums
“View full course on LMS →” buttonLinks back to seekersabodepl for reference

5.3 Button design

On each course detail page, a prominent button:

┌──────────────────────────────────┐
│  ▶ Enrol on holisticconsciousness.in │
│  Full course with video, quizzes, cert │
└──────────────────────────────────┘

And a secondary link:

📖 Prefer to study independently? Browse the readings here.

The button stays “Coming soon” until the corresponding course is actually published on holisticconsciousness.in. Data flow:

  1. Prashant creates a course on holisticconsciousness.in
  2. Prashant flips status: "published" in data/courses.yaml
  3. The site rebuilds and the course page activates its “Enrol” button
  4. The library entries linked in the course get a “Used in course: XYZ” badge

5.5 Future: Open enrollment via API

If holisticconsciousness.in has an API:

  • Course detail page could show current enrollment count
  • “X learners enrolled” social proof badge
  • Could surface course reviews or testimonials

6. Phased Implementation

Phase 6.1 — Course detail pages (estimated: 2–3 hours)

  • Create content/courses/{slug}/_index.md for each of the 5 courses
  • Each _index.md has full frontmatter: title, description, domains, level, modules
  • Create layouts/courses/single.html for course detail rendering
  • Create layouts/partials/course/module-card.html partial
  • Build and verify all 5 course detail pages render correctly
  • Run QA: all internal links work, no broken URLs

Phase 6.2 — Library reading integration (estimated: 3–4 hours)

  • Build the reading shortcode or partial that looks up library entries by slug
  • Wire module readings to library entries
  • Add seed-awareness: show 🌱 badge on seed-status readings
  • Add courses: [] frontmatter to affected library entries
  • Add “Found in these courses” section to library entry single.html
  • Add “Found in these courses” section to thinker profile single.html

Phase 6.3 — Cross-referencing & navigation (estimated: 2 hours)

  • Add “Courses in this domain” section to domain landing pages
  • Add course counts to domain stats
  • Ensure breadcrumbs work for courses section
  • Add courses link in navigation (already exists)
  • Test all cross-navigation paths

Phase 6.4 — LMS button wiring (estimated: 1 hour, done per course)

  • When a course is published on holisticconsciousness.in, update data/courses.yaml:
    lms_url: "https://holisticconsciousness.in/courses/foundations"
    lms_status: "published"  # or "coming-soon"
    
  • The course detail page shows/hides the “Enrol” button based on lms_status
  • Library entries linked from published courses get a live badge

Phase 6.5 — Polish & QA (estimated: 1–2 hours)

  • Responsive testing on mobile
  • Verify all 5 course pages, all modules, all reading links work
  • Verify accessibility (headings, alt text, focus order)
  • Run scripts/qa_checks.py (course pages add 5 more, total 135)
  • Prashant reviews content accuracy

Total estimate: 9–12 hours.


7. Future Considerations (Post-Phase 6)

FeatureWhenEffort
PDF course outline downloadPhase 6.5Low — Hugo generates from module data
Print-friendly course pagesPhase 6.5Low — @media print CSS exists
Course progress tracking (localStorage)Post-6Medium — JS only, no backend
Course search in PagefindPhase 6.1Free — Pagefind auto-indexes new pages
“My learning path” — user-curated set of coursesPost-6Medium — needs localStorage or account
LMS API integration for enrollment countsPost-6Depends on holisticconsciousness.in API
Course reviews / testimonialsPost-6Needs CMS or data file updates
Video embeds (YouTube lectures per module)Post-6Low — embed in markdown

8. Open Questions for Prashant

  1. Course detail page priority — Which course should get a detail page first? Foundations (most broad) or Hard Problem (most focused)?

  2. Reading shortcode vs. YAML-driven — The shortcode approach is simpler for Phase 6.1 and lets you write course content in markdown. The YAML-driven approach (from data/courses.yaml) is more structured but harder to edit. Preference?

  3. LMS platform capabilities — Does holisticconsciousness.in have an API? Can it accept enrollment links from external sites? This affects Phase 6.4–6.5.

  4. Who writes course descriptions — Should the AI draft all 5 course module outlines, or does Prashant want to write them directly?

  5. Should courses have their own pathway? — Example: “Take Foundations → Hard Problem → Consciousness & AI” as a recommended sequence.