Pathways Experience
Overview
The Pathways Experience covers how learners discover, browse, and navigate courses and programs — including the learner home (dashboard), catalog, and program pages. It's the pre-course and between-course experience: enrollment, re-enrollment, program progress, and course discovery.
This area has undergone significant modernization — the legacy dashboard (a Django-rendered page) is being replaced by the frontend-app-learner-dashboard MFE, and catalog functionality is powered by the course-discovery service.
Current State (2026)
- Learner home:
frontend-app-learner-dashboardMFE shows enrolled courses, program progress, recommended courses - Catalog:
course-discoveryservice powers program and course metadata;frontend-app-catalogprovides browsing UI - Program pages: Programs (sequences of courses with shared credentials) displayed via
course-discovery+credentialsintegration - Enrollment: Still managed by
edx-platformLMS enrollment API; MFEs call enrollment endpoints
Architecture
- Learner dashboard MFE: Fetches enrolled courses, program enrollments, and recommendations from LMS and
course-discoveryAPIs - Course Discovery: Separate Django service with Elasticsearch for search; stores course runs, programs, organizations
- Recommendations: Learner-specific recommendations may use catalog metadata or ML-based systems (varies by deployment)
- B2B pathway layer: Enterprise learners may see restricted catalogs via
edx-enterpriseandenterprise-catalog
Relevant Repositories
| Repository | Role in This Feature | Activity Level | Notes |
|---|---|---|---|
| openedx/frontend-app-learner-dashboard | Learner home MFE | High | Replacing legacy dashboard |
| openedx/course-discovery | Program/course catalog service | High | Elasticsearch-backed |
| openedx/frontend-app-catalog | Catalog browsing MFE | Medium | Public catalog UI |
| openedx/openedx-platform | Legacy dashboard, enrollment API | High | student/views/ |
| openedx/enterprise-catalog | Enterprise-restricted catalogs | High | B2B catalog filtering |
Recent Changes
frontend-app-learner-dashboardreplacing legacy Django dashboard (major ongoing initiative)
History
Origin
- Year introduced: 2012 (original learner dashboard launched with edX)
- Initial implementation: Django-rendered dashboard at
/dashboardshowing enrolled courses as a card grid - Context: The original dashboard was the first thing learners saw after logging in; designed to be a simple enrollment list
Key Milestones
| Year | Milestone | Teams / People Involved |
|---|---|---|
| 2012 | Original /dashboard view launched | Unknown |
| ~2015 | Programs concept introduced (sequence of courses) | Unknown |
| ~2018 | course-discovery service extracted from monolith | Unknown |
| ~2022 | frontend-app-learner-dashboard MFE development begins | Unknown |
People Who Shaped This Area
- Engineering: Unknown — open question for interview
- Product: Unknown — open question for interview
- Design: Unknown — open question for interview
Open Questions
- [ ] When was the "Programs" concept first introduced and who designed it?
- [ ] When was
course-discoveryextracted from the monolith and why? - [ ] What drove the decision to build a dedicated learner home MFE?
- [ ] How does the catalog experience differ between self-paced open installations and enterprise deployments?
- [ ] Who designed the original learner dashboard and what were the guiding principles?