Skip to content
02 — Complex UX · Real-time Systems · Web + MobileFlagship case study

Designing a classroom, not another video meeting

Designing the instructor and learner experience for an in-house live-learning platform where participation, moderation, device readiness, permissions and recovery all have to work in real time.

Role
Sole Product Designer
Status
Shipped
Platforms
Web · Native mobile
Scope
Research · Competitor study · Product UX · UI · Responsive design · Engineering collaboration · Migration · Design QA
SuperLive — Product Design CritiqueFictional session · synthetic learners
Priya NairInstructor · holding the floor
StageRecording
AaravListening
MeeraListening
RohanListening
SnehaListening
KabirListening
DivyaListening
ImranListening
TaraListening
Raise-hand queue0
No requests. The floor is Priya’s.

Eight learners are in the room. Priya holds the floor; nobody else has a microphone.

A fictional session, stepped through ten states. Learner names and session data are synthetic.

Some product visuals have been simplified or reconstructed to protect confidential platform and customer information. Learner names and session data are synthetic.

Chapter 01 — The classroom problem

A live class has different rules from a meeting.

Conferencing tools optimize for meetings, where everyone is fundamentally a participant. Teaching needs asymmetry: one instructor holding attention, structured participation, moderated questions, recording, and a way back in when something breaks.

Generic meeting
ParticipantSpeak, share, unmute at will
ParticipantSpeak, share, unmute at will
ParticipantSpeak, share, unmute at will
HostNominally in charge

Everyone is fundamentally a participant.

Live class
InstructorHolds attention and controls the room
Co-hostHelps manage operations and the queue
LearnerConsumes, and participates selectively
LearnerConsumes, and participates selectively

Roles are asymmetric by design.

The asymmetry is the product requirement, not a limitation to work around.

More control can make teaching harder.

Every extra control offered to the instructor competes with the attention they need to teach. That is the tension the whole product had to resolve.

Instructor

Needs control without leaving the teaching context.

Learner

Needs clear, low-friction participation.

System

Needs to coordinate real-time permissions, state and recovery.

The question was never “what controls does Zoom have?” It was “what interrupts teaching?”

Reference study
01Zoom · Google Meet — which meeting controls help a class, and which just add complexity?
02Live-class and workshop tools — how is structured participation handled differently from conversation?
Questions the design had to answer
01What must the instructor reach without leaving the teaching flow?
02Which learner actions should require host permission?
03How does a learner ask to speak without interrupting the class?
04What belongs in Chat, what in Q&A, what in Raise Hand?
05What happens when device permissions fail?
06What happens when a learner disconnects?
07What stays visible while the instructor shares or teaches?
08How do co-hosts reduce instructor workload?

Participation is not one thing.

Chapter 02 — Participation model

Participation is not one thing.

Chat, Q&A, Raise Hand and Polls all look like “engagement,” but they solve different social behaviours. Different intentions needed different interaction models.

Chat

“Say something.”

Low-friction conversation. Ephemeral by nature.

Q&A

“Ask something that deserves an answer.”

Structured questions that persist until resolved.

Raise hand

“I want to speak.”

A request for permission, not a message.

Poll

“Respond to what the instructor asks.”

Instructor-led structured response with a result.

If all four collapse into one chat stream

01Important questions scroll away
02Requests to speak become noise
03Instructor attention fragments
04Structured results are lost

Chat is conversation. Q&A is a queue with an answer. A raised hand is a request for permission.

Chapter 03 — The live experience

The classroom experience starts before Join.

A device problem discovered inside a live class is already an interruption. Permission errors are cheaper before the class starts.

SuperLive — before you joinFictional session · synthetic learners
Priya NairInstructor · holding the floor
StageRecording
AaravListening
MeeraListening
RohanListening
SnehaListening
KabirListening
DivyaListening
ImranListening
TaraListening
Raise-hand queue0
No requests. The floor is Priya’s.

Eight learners are in the room. Priya holds the floor; nobody else has a microphone.

Everything before Join exists so the first minute of teaching is not a support call.

Every device state has an answer before the room opens.

CameraReady
CameraPermission denied — recoverable before joining
CameraDevice missing
MicrophoneReady
MicrophonePermission denied — recoverable before joining
MicrophoneDevice unavailable
SpeakerTest output
Chapter 04 — States and permissions

The interface had to stay predictable while the class kept changing.

One lifecycle, two roles, and a set of states that move underneath the same layout.

The same room, read as state.

Twenty-eight learners, one instructor, and the signal doing the work at each beat — the abstract read of the classroom above.

InstructorHolding the floor
Join
Raise hand
Q&A
Chat
Poll
Permissions
Recording
Connection

Twenty-eight learners arrive over a minute. The instructor holds the stage throughout.

One instructor · many learner states · continuous coordination

Speaking needed to be a controlled state transition.

A raised hand is a request. What follows is a permission the instructor grants, a capability the learner holds temporarily, and a return to the default state — not a toggle.

A raised hand is not a toggle. It is a temporary permission state.

InstructorTeaching
LearnerListening
Mic: offCamera: offScreen share: restricted
State 01 of 10
Audience

Default learner state. Mic and camera unavailable, screen share restricted.

The same transaction as a state model. Ten states, and the two that look like one — being selected, and being live.

Learner permissions are temporary, not permanent.

A meeting can start with everyone as a peer. A classroom cannot: the hierarchy has to survive participation.

Default learner
MicOff / unavailable
CameraOff / unavailable
Screen shareRestricted
Host grants speaking access
MicAllowed
CameraOptional
Screen shareStill restricted
After speaking
MicOff again
CameraOff again
Screen shareRestricted

Teaching material stayed inside the classroom.

Leaving the room to fetch content costs instructor attention.

In-room toolbox
SlidesPDFPollQuizTimerVideo
Chapter 05 — Designing for reality

Responsive meant changing priority — not shrinking the room.

Teaching content first, then the critical audio and video actions, then participation state, then secondary tools. What changes across platforms is how much can be true at once.

Desktop
Stage
Participants
Contextual panel
Full controls
Several things true at once.
Tablet
Stage
One contextual panel
Secondary controls collapse
Fewer simultaneous contexts, same hierarchy.
Mobile
Stage
Critical controls
Participation action
Bottom sheet for the rest
Sequential, not miniaturised.
Reconstructed behavioural model, not final layouts. The build had to cover web, mobile browser and mobile WebView integration.

The build had to cover web, mobile browser and mobile WebView integration.

Chapter 06 — Failure and recovery

Real-time products fail in public.

A learner cannot wait for a hidden retry job. Some failures belong to the person in the room, and some should be absorbed before they ever see them.

The person in the room sees these
Camera permission deniedMic unavailableInstructor not joinedTemporary disconnectRejoinRemovedBanned
The system absorbs these
Infrastructure failoverRecording compositionSession state restoration

The classroom had to survive the server disappearing.

A class can run on a self-hosted session or on cloud. If the self-hosted server dies, participants reconnect and land on cloud. Recovery should feel like an interruption, not a new class.

  1. 01Self-hosted session
  2. 02Server fails
  3. 03Participants reconnect
  4. 04Cloud session

Reconnect shouldn’t reset who you are in the room.

Participant and host state persists across a rejoin, so a dropped learner returns as themselves rather than as a new arrival.

SuperLive — losing and regaining a connectionFictional session · synthetic learners
Priya NairInstructor · holding the floor
StageRecording✓ Devices ready
AaravListening
MeeraListening
RohanListening
SnehaListening
KabirReconnecting
DivyaListening
ImranListening
TaraListening
Raise-hand queue0
No requests. The floor is Priya’s.
Connection lost

Kabir dropped out. His seat is held and the class keeps running.

Kabir drops out. The class continues and his seat is held.

Restored on rejoin
IdentityRoleSessionPermissions

The new classroom still had to fit the existing learning product.

A real-time experience could not behave like a standalone app: it enters from a lesson and returns to one.

Migration surface
AuthenticationCourse accessMobile WebViewRecording access
Chapter 07 — After the session

A live class becomes learning material after it ends.

The live experience is temporary. The learning asset is persistent — and so is the behavioural signal the instructor can review.

  1. 01Session
  2. 02Recording
  3. 03Processing
  4. 04Uploaded recording
  5. 05Learner playback
  6. 06Admin download

What the instructor can review afterwards

Measurement capability — no figures are claimed
AttendanceJoin and drop timingParticipation eventsPoll responsesQ&A resolution
Actual outcome — shipped

A live-learning system built around classroom behaviour.

The platform now supports an in-house live classroom across joining, participation, moderation, engagement, recording and recovery, rather than relying on a generic meeting interaction model.

NPS 7
Live classes

What this changed in how I design real-time products.

01

The instructor’s attention is part of the interface budget.

02

Participation needs explicit states and permissions.

03

Failure recovery is part of the main experience, not an edge case.

And responsive real-time design preserves priority, not layout.

Next / retrospective — not shipped

What I’d measure and improve next

  • A deeper accessibility audit for live-state announcements and keyboard control
  • Measure join and device-readiness failure rates
  • Study engagement-feature usage without overloading instructor attention
  • Post-session learning continuity and recap

This project taught me that in a real-time product the instructor’s attention is part of the interface budget.

Have a complicated product problem?

Platform architecture, AI features, real-time systems, or a product that has grown more rules than anyone can hold in their head.

Or write it here

This opens your own email client with the message filled in. Nothing is sent or stored by this page.

Pragya Kumari — Product DesignerSuperLive · Live classes · 2025