# Design an online learning platform like Coursera: system design interview question

> Course launches stress enrollment, while course changes and repeated requests test progress correctness.

Source: https://sysround.com/questions/design-online-learning-platform-like-coursera
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design an online learning platform where instructors publish courses and students enroll, view lessons, and track completion. Support large enrollment spikes and reliable progress across devices."

## What to clarify first

- Users and catalog size
- Daily traffic and read:write mix
- Peak traffic
- Lesson format
- Enrollment, access, and completion rules
- Latency
- Consistency and availability
- Durability and retention
- Course changes
- Scope boundaries

## Scope of a strong answer

Core requirements:

- Create and publish courses with video and text lessons
- Enroll students and control lesson access
- Deliver lessons during large enrollment spikes
- Record lesson completion and show progress across devices

Usually out of scope:

- Payments and subscriptions
- Live classes
- Exams and certificate rules
- Recommendations and advanced search
- Protection against screen capture

## What interviewers probe

### Enrollment during a course launch

One course attracts hundreds of thousands of requests within a minute. Repeated requests must not create extra enrollments or block existing students.

### Lesson completion across devices

Devices repeat requests and receive responses in different orders. A completion error can change the student's course status indefinitely.

### Course changes after publication

A course can change while students study it. Partial publication or a changed lesson count can make completed work appear incomplete.

### Lesson delivery and access

Video traffic greatly exceeds application traffic. Active lessons must survive an application outage without exposing permanent public media access.

## Common mistakes

- The design treats video delivery and metadata requests as the same traffic.
- The server stores a client-provided percentage as the only progress record.
- The server counts repeated completion requests more than once.
- Every enrollment updates one shared course counter.
- Course edits change existing progress without an explicit rule.
- The server trusts stale catalog or access data for decisions that require current state.

## The bar by level

- **Senior:** Handles launch overload and concurrent completion. Uses authoritative version selection and atomic publication. Explains durable acknowledgments and playback continuity during application outages.
- **Staff+:** Quantifies database limits and defines shard boundaries. Preserves publication rules across separate stores. Defines regional failure behavior and course migration rules without weakening progress guarantees.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=online-learning-platform


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
