Livestream & real-time engagement platform
The failure point was setup, not playback
Six months of support tickets, user interviews, and operator shadowing showed that problems started weeks before an event, in a setup process spread across several tools.
Show the reasoning · users, failure point, proposed model
"If this Livestream does not play right within 2 minutes, I'm out of here!"
— Livestream viewer


A dashboard built around one question: "What needs my attention?"
Status, timing, and trends lead. Everything else moves into the event, so operators triage first and dig in second.
- 1Trends, not just totals. Change against the previous period helps operators anticipate busy periods.
- 2Scoped to my events. A filter and search narrow the list to what this operator owns.
- 3Status and timing are primary. Status is always a text label, so meaning never depends on color alone.
- 4Secondary actions stay out of the way. Extra actions sit one click away in the row menu.
- 5One primary action. "Create new event" is the only filled button on the screen.
Show the reasoning
Operators didn't need another place to see every piece of event data. They needed to quickly identify which events required action and understand what to do next. I prioritized event status, configuration state, upcoming tasks, date and time, and trend information. Presenter names, organizer notes, and technical details live in the event workspace, not on the dashboard.
Revealing complexity only when it becomes relevant
Each event starts from sensible defaults. Advanced production options appear only when earlier choices require them.
Show the reasoning
The event workspace focuses on a single event. A task list and a status model work together, so operators always know what is done, what is blocked, and what comes next.
- Defaults firstCommon configurations start from sensible defaults. Advanced production options appear only when earlier selections require them.
- Tasks + statusEach event's task list is paired with a status, so operators can focus on their assigned events and see what requires action.
- Warn, don't blockIncomplete setup shows a warning rather than stopping progress when the missing information can legitimately arrive later. Unresolved issues are surfaced clearly before event day.
Letting most events run without an operator touching them
60% of 10,000+ annual events became eligible for automation. Operators shifted from setting up every event to monitoring the exceptions.
Show the reasoning
Support-ticket analysis showed that most recurring events used the same configuration every time. Operators were still setting each one up by hand. I interviewed organizers and operators to define which events could be automated, what counted as an exception, and how the system should behave when something fell outside the rules.
- Clear eligibilityOrganizers learn at scheduling time whether their event qualifies for automation, and what would change that, instead of finding out from an operator later.
- Exceptions route to peopleEvents with special requirements (multiple cameras, off-campus venues, VIP presenters, sign-language interpretation) automatically go to an operator with the reason attached.
- Monitor, don't configureFor automated events, the operator's job shifts from setup to oversight: the dashboard shows status and flags only the events that need a person.
I validated the complete workflow with both roles before launch. Automation reduced operator workload, organizer lead time, and support tickets while increasing platform capacity.
Same event, different jobs: occasional organizers and expert operators
Navigation, hierarchy, and permissions follow each role's responsibilities, not the underlying system.
Occasional organizer
- Simple event information
- Only the configuration relevant to them
- Limited technical complexity
- View and edit access appropriate to the role
Experienced operator
- Technical configuration
- Livestream endpoint information
- Full event-management actions
- Deeper troubleshooting and control
When two user groups need opposite things, don't force a global rule
Viewers wanted thumbs-down. Organizers refused it. I made reaction sets configurable per event, then designed throttling for hundreds of reactions a second. Result: participation up 30%, zero distraction complaints, zero flooding incidents.
Designing for hundreds of reactions in one second
Show the reasoning · stakeholder conflict, tradeoffs, edge cases
How the conflict surfaced and resolved
- Interviewed viewers firstAsked which emojis they would actually use during a business presentation. They chose eight types, including negative ones; thumbs-down was explicitly requested.
- Validated with organizers: an unexpected vetoOrganizers rejected all negative emojis: "Business leaders will not be happy seeing thumbs down from audiences during their presentation."
- First instinct: pick a sideA platform-wide rule, either all emojis or positive only, would have failed one legitimate group.
- Reframe: platform policy → per-event settingOrganizers know their event's norms better than the platform does. A large all-hands has different norms than a small team call.
- Shipped: emoji set chosen during event intakeOrganizers pick the available reactions for their event. Viewers stay expressive; organizers keep control.
| Consideration | Global rule | Per-event setting (shipped) |
|---|---|---|
| Viewers get the reactions they asked for | Partly | Yes |
| Organizers control audience signals | No | Yes |
| Platform stays neutral about context | No | Yes |
| Extra intake complexity | None | One extra step, accepted |
After launch, large events (200+ viewers) consistently chose positive-only sets, and smaller teams opted into the full set. Context determined the norms, and organizers were the right people to decide.
Designing for edge cases before they happened
- Layer, not featureThe reaction stream is capped at 15% of the player's width and 25% of its height. The video is the product; every throttling decision served that.
- Viral momentWhen everyone laughs at once, show one emoji per type per second. Volume is implied by the single emoji, so the stream never becomes a wall over the video.
- Bad actorA per-viewer limit of one reaction per 10 seconds stops intentional flooding. Normal viewers never notice the limit.
Designing trust at the viewer layer
A calm, professional visual language where the video is always the hero, from the moment viewers arrive.
- 1Visual hierarchy. The video stays the hero. Chat and reactions are visible without competing for attention.
- 2Responsive behavior. On smaller screens, chat moves below the player rather than shrinking the video.
- 3Interaction density. Reactions are capped at about 25% of the player's height, and viewers can hide them.

- –Organizer branding without one-off builds. One submitted player-skin asset generates coordinated header and footer treatments, previewed and approved by the organizer before going live.
Show the reasoning · chat placement, dark mode, branding constraints
- ColorA dark blue palette chosen to communicate stability for high-visibility company events.
- Dark modeReduced visual intensity for long viewing sessions while preserving hierarchy and interaction states.
- Branding constraintsConfigurable header, footer, and custom regions work within defined image and responsive constraints, so high-profile events get a distinct identity without breaking the layout. Organizers preview in a test environment before production.
Also explored with AI
Where AI could meaningfully help viewers find, catch up on, or fix things. Prototyped and scoped as future-state work.

Livestream ShortsConcept
AI-surfaced moments from a 10,000+ event library, with a direct path into the full recording.

Playback troubleshootingFuture state
Detects common failure patterns and suggests fixes without leaving the stream.

Event summariesFuture state
Lets late joiners catch up without rewatching the full stream.
I'd shadow operators during live events earlier. Real-time stress behavior differed from what tickets described, and that shadowing is what showed operators needed a unified workspace, not a simpler version of one step.
I'd test viewers and organizers together. Interviewing them one after the other meant the reaction conflict surfaced late.