Skip to content
07 — Engagement · Reusable InteractionSupporting project

One poll. Many learning moments.

Designing a reusable poll system that could be created once, published once and used across live classes, courses, community and learner-facing content without changing its interaction model.

Role
Sole Product Designer
Status
Shipped
Scope
Product UX · Admin configuration · Learner interaction · Real-time feedback · Cross-surface design · Engineering collaboration · Design QA
Poll — embedded in SuperLiveSynthetic question · illustrative distribution
Open · not votedResults after vote

Which part of the process do you find hardest?

Live, mid-class. The instructor closes it when the room has answered, and the session result persists.

Vote, then move the same poll between surfaces. Synthetic question, illustrative distribution.

Some product visuals have been simplified or reconstructed to protect confidential platform and customer information.

Chapter 01 — The problem

Engagement was becoming a feature-by-feature problem.

If every surface built its own polling interaction, admins would create, configure, publish and analyse the same concept four different ways — and learners would learn it four times.

Per-surface polling
SuperLive pollIts own creation, config and results
Course pollIts own creation, config and results
Community pollIts own creation, config and results
Newsfeed pollIts own creation, config and results
Four builds, four interaction models
One reusable object
One poll objectCreated and configured once
Embedded anywhereSuperLive · Course · Community · Newsfeed
One results modelLive or post-session
One build, one interaction model

A poll is not a screen. It is a reusable object with a lifecycle.

Chapter 02 — The object

The lifecycle is the design.

A poll is not a screen you visit. It is a thing with states, and the states are what every surface has to agree on.

  1. 01Draft
  2. 02Published
  3. 03Embedded / started
  4. 04Voting
  5. 05Result
  6. 06ClosedSession stored
Chapter 03 — Configuration

Configured once, in one place.

Type, question, options and behaviour are set on the object itself — including when results become visible, which is a trust decision more than a display one.

Poll — embedded in SuperLiveSynthetic question · illustrative distribution
Open · not votedResults after vote

Which part of the process do you find hardest?

Live, mid-class. The instructor closes it when the room has answered, and the session result persists.

Vote, and the result appears — because this poll is set to reveal after voting. The same object with a different setting stays closed until the instructor ends it.

Everything that is set on the object

On the object
TypeMultiple choice · Yes / no
QuestionText · optional image
OptionsMinimum 2 · maximum 5
BehaviourDuration · multiple answers · anonymous · quiz mode
Result visibility
AlwaysStandings are public from the start
After voteSeeing the result costs a commitment
After closeNobody is anchored by an early lead

A trust decision more than a display one.

Chapter 04 — Live behaviour

In a live class, the value is the immediacy.

Results move as votes arrive, the instructor closes the poll when the room has answered, and the session result persists afterwards. The same poll can be started again later in the session.

One poll object · four surfaces

Which part of the process do you find hardest?

Unvoted, on SuperLive. Result visibility is a setting on the object, not a property of the surface.

The cross-surface view: one object, four embeddings, one interaction model.

Reuse creates lifecycle dependencies.

Once a published poll is associated with several surfaces, unpublishing can’t behave like deleting an isolated item. The associations have to be resolved first — the cost of making something reusable.

Unassociated pollUnpublish behaves like a normal delete.
Associated with one surfaceThe association is named before anything is removed.
Associated with severalResolve the associations first — the cost of reuse.
Shipped

One engagement object could work across the learning product.

Admins could create and publish a poll once, reuse it across multiple learner surfaces, and view live or post-session results through the same underlying interaction model.

This project taught me to design reusable interaction objects around lifecycle and state — not around the screen where they first appear.

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 DesignerEngagement · Reusable interaction · 2026