Files
ACVE/student_experience_planish.md
2026-02-17 00:07:00 +00:00

8.5 KiB

ACVE Student Experience Plan (UX + Visual Quality)

Objective

Upgrade the student-facing product so it feels intentional, modern, and trustworthy while staying MVP-compatible.

This plan focuses on:

  • Better visual hierarchy (less oversized type, reduced empty space).
  • Cleaner information density (more useful content per viewport).
  • Consistent interaction patterns (cards, tabs, progress, actions).
  • A polished learning flow from discovery to lesson completion.

Current UX Problems (Observed)

  • Excess whitespace on core pages (/courses, /case-studies, /practice) creates low information density.
  • Heading/body type scale is too large in many sections, causing visual imbalance and "shouting" UI.
  • Inconsistent card depth and spacing across pages.
  • Weak content rhythm: sections do not form a predictable scan path.
  • Placeholder areas appear disconnected from real actions (resources, modules, uploads).

Experience Principles

  • Dense, not crowded: every fold should provide clear options or useful context.
  • Strong hierarchy: heading sizes and spacing should reflect importance.
  • Familiar learning patterns: follow proven edtech structures (clear hero, category rails, progress surfaces, action clusters).
  • Trust by consistency: repeated visual language for statuses, metadata, and actions.
  • Mobile parity: same clarity and intent on small screens.

Visual Direction

Typography System

  • Introduce a controlled type ramp:
    • Display: 40-48px max (home hero only)
    • H1: 32-36px
    • H2: 24-28px
    • H3: 18-22px
    • Body-lg: 18px
    • Body: 16px
    • Meta: 13-14px
  • Reduce line-length for long text blocks (max-width around 60-72ch).
  • Reduce heading usage of very large serif text outside hero sections.

Spacing & Layout

  • Use a spacing scale (4, 8, 12, 16, 24, 32, 48, 64).
  • Standard section padding:
    • Desktop: 32-48px
    • Mobile: 16-24px
  • Enforce consistent card height and internal spacing.
  • Reduce vertical gaps between filter bars and content grids.

Components & Surfaces

  • Standardize card anatomy:
    • Header: title + level/status chips
    • Body: summary + key stats
    • Footer: instructor + primary action
  • Unify chip styles:
    • Level chip
    • Status chip (Draft, Published)
    • Access chip (Preview, Locked)
  • Introduce one reusable "empty state" component with icon, message, CTA.

Student Journey Improvements

Discovery (/, /courses, /case-studies, /practice)

  • Add compact "Quick Continue" strip at top for logged-in learners.
  • Improve course list density:
    • 3-column desktop, 2-column tablet, 1-column mobile.
    • Show progress, lesson count, duration, rating without large gaps.
  • Case studies:
    • Left index list with tighter cards.
    • Main detail panel with clearer section hierarchy and less oversized title.
  • Practice:
    • Show module status (Available, Coming soon) plus expected duration.

Course Detail (/courses/[slug])

  • Improve hero balance:
    • Course metadata row (level, status, rating, duration) in compact badges.
    • Right side sticky panel for progress + CTA.
  • Add "What you will learn" bullet block (placeholder content allowed).
  • Add "Course structure" preview (module/lesson count summary).

Learning Player (/courses/[slug]/learn)

  • Keep two-column layout with stronger purpose:
    • Left: module/lesson navigation.
    • Right: lesson content, resources, completion action.
  • Add lesson context strip:
    • Module X, Lesson Y, estimated time, content type.
  • Add "Next lesson" CTA after completion.
  • Keep resources placeholder but place it in a consistent right-panel section.

Practice Session (/practice/[slug])

  • Add pre-quiz panel:
    • Difficulty, question count, expected time.
  • During quiz:
    • Fixed progress header.
    • Cleaner answer state colors and spacing.
  • Post-quiz:
    • Score summary card + "Review answers" placeholder.
    • Attempt history visible below summary.

Navigation & Account Experience

  • Navbar should remain compact and consistent across pages.
  • Add contextual breadcrumbs on deep routes:
    • Courses > [Course] > Learn
    • Practice > [Module]
  • Logged-in state:
    • Show quick links (Continue, My Courses, Practice).
  • Teacher-only controls remain isolated and clearly labeled.

Motion & Feedback

  • Add subtle page-enter animation (fade + 12px rise, 180-220ms).
  • Card hover:
    • slight elevation + border emphasis.
  • Keep micro-interactions purposeful only (no decorative animation noise).

Accessibility & Readability

  • Minimum contrast ratio compliant for text and controls.
  • 44px minimum hit targets for buttons/tabs.
  • Keyboard focus ring visible on all actionable components.
  • Avoid placing essential information by color only.

Performance Constraints

  • Avoid heavy media in above-the-fold learner screens.
  • Use optimized image sizing and only essential shadows/blur.
  • Keep layout shifts minimal (reserve card/media sizes).

Implementation Phases

Phase 1: Foundation (Design Tokens + Layout Baseline)

Status: DONE

  • Create/update tokens in global styles:
    • type scale
    • spacing scale
    • surface/elevation tokens
    • badge/chip variants
  • Normalize top-level content container widths and section paddings.
  • Deliverable: consistent baseline on all public pages.

Phase 2: Discovery Page Refresh

Status: DONE

  • Refine /courses, /case-studies, /practice for density and hierarchy.
  • Standardize card and metadata patterns.
  • Deliverable: cleaner listing UX with less visual noise.

Phase 3: Learning Flow Polish

Status: DONE

  • Upgrade /courses/[slug] and /courses/[slug]/learn.
  • Improve lesson progression and contextual guidance.
  • Deliverable: student can move through lessons with clear momentum.

Phase 4: Practice Flow Polish

Status: DONE

  • Upgrade /practice/[slug] session flow and result state.
  • Improve attempt history readability.
  • Deliverable: practice looks structured and rewarding.

Phase 5: Final QA + Consistency Pass

Status: DONE

  • Accessibility checks (focus, contrast, tap targets).
  • Mobile layout QA for all student routes.
  • Copy and empty-state consistency.

Route-by-Route Checklist

  • / Home: DONE
  • /courses: DONE
  • /courses/[slug]: DONE
  • /courses/[slug]/learn: DONE
  • /case-studies: DONE
  • /case-studies/[slug]: DONE
  • /practice: DONE
  • /practice/[slug]: DONE
  • /assistant: DONE

Progress Log

  • 2026-02-11: Phase 1 baseline implemented with global spacing/type tokens and shared page spacing utilities in app/globals.css.
  • 2026-02-11: Main content container tightened in app/layout.tsx to reduce visual spread.
  • 2026-02-11: Discovery listings rebalanced for typography density in app/(public)/courses/page.tsx, app/(public)/case-studies/page.tsx, and app/(public)/practice/page.tsx.
  • 2026-02-11: Shared card typography normalized in components/CourseCard.tsx.
  • 2026-02-11: Strong discovery refresh shipped with denser hero bands, compact metadata surfaces, and clearer scan hierarchy on /courses, /case-studies, and /practice.
  • 2026-02-11: Phase 3 update shipped for /courses/[slug] and /courses/[slug]/learn with clearer learning outcomes, structure preview, lesson context strip, and guided next-lesson progression.
  • 2026-02-11: Demo auth persistence aligned across student pages by reading fallback cookies where Supabase is unavailable.
  • 2026-02-11: Phase 4 shipped for /practice/[slug] with explicit pre-quiz briefing, cleaner in-quiz state, and results actions with persistent attempt history.
  • 2026-02-11: Phase 5 completed with focus-visible accessibility baseline, hit-target reinforcement for primary/secondary buttons, and consistency pass on /, /case-studies/[slug], and /assistant.

Success Criteria

  • Visual balance: no oversized heading blocks outside hero contexts.
  • Density: key pages show actionable content above fold without clutter.
  • Consistency: chips, cards, spacing, and metadata presentation are unified.
  • Student flow: discovery -> course -> lesson -> completion feels continuous.
  • QA: no major accessibility regressions; mobile parity achieved.

Risks and Mitigation

  • Risk: Over-designing before backend data.
    • Mitigation: keep placeholders schema-aligned and componentized.
  • Risk: Inconsistent execution across routes.
    • Mitigation: enforce shared UI primitives and route checklist signoff.
  • Risk: Rework after backend integration.
    • Mitigation: keep layout and data contracts decoupled.

Working Agreement

  • Every UI change references this file and marks route checklist progress.
  • No route is considered complete without desktop + mobile verification.
  • Keep this as the source of truth for student-facing UX decisions.