Whova | Agenda Conflict Checker

Whova | Agenda Conflict Checker

Configure, Catch, Fix.

Configure, Catch, Fix.

Configure, Catch, Fix.

Configure, Catch, Fix.

Designing a conflict checker for organizers managing complex event schedules.

Designing a conflict checker for organizers managing complex event schedules.

Designing a conflict checker for organizers managing complex event schedules.

Designing a conflict checker for organizers managing complex event schedules.

PLATFORM

Event management dashboard (admin)

TIMELINE

Q2 2024 - Q3 2024

TEAM

1 Product Manager, 1 User Researcher, 2 Engineers

Agenda Conflict Check lets event organizers create set custom rules to catch session conflicts before their agenda goes live.

Agenda Conflict Check lets event organizers create set custom rules to catch session conflicts before their agenda goes live.

Imagine coordinating hundreds of sessions and speakers across multiple days and rooms. One small scheduling overlap can slip through and throw off the rest of the agenda. Many organizers were spotting session conflicts by hand in spreadsheets before importing their agenda into Whova, which was slow and error-prone. Agenda Conflict Check brought this work into the platform to save organizers time and increase the stickiness of our existing agenda builder.

Imagine coordinating hundreds of sessions and speakers across multiple days and rooms. One small scheduling overlap can slip through and throw off the rest of the agenda. Many organizers were spotting session conflicts by hand in spreadsheets before importing their agenda into Whova, which was slow and error-prone. Agenda Conflict Check brought this work into the platform to save organizers time and increase the stickiness of our existing agenda builder.

I led the design from concept to launch in 3 months.

I led the design from concept to launch in 3 months.

I led the design from concept to launch in 3 months.

I worked closely with cross-functional teams across research, design, and testing. The challenge was to build a brand new tool that helps catch session conflicts without drastically changing the agenda building flow organizers already relied on.

I worked closely with cross-functional teams across research, design, and testing. The challenge was to build a brand new tool that helps catch session conflicts without drastically changing the agenda building flow organizers already relied on.

PLATFORM

Event management dashboard (admin)

TIMELINE

Q2 2024 - Q3 2024

TEAM

1 Product Manager, 1 User Researcher, 2 Engineers

Problem

Problem

Problem

Getting the event agenda right shouldn't take hours. But it did.

Getting the event agenda right shouldn't take hours. But it did.

95% of events on Whova use the Agenda Center to manage their session schedules, with over 70% of them planning everything in Excel first, import into Whova after.

Organizers managing hundreds of sessions needed a way to quickly flag when two sessions conflicted. Without a built-in solution, they had to manually cross-reference every speaker, every room, and every time slot, hoping nothing slipped through.

"It takes a lot of review to make sure we get everybody in, all time slots are filled and the rooms aren't double booked. It is kind of a tedious process."

"It takes a lot of review to make sure we get everybody in, all time slots are filled and the rooms aren't double booked. It is kind of a tedious process."

Goals

Goals

Goals

Save organizers time, scope the right MVP, and close a gap that was hurting retention.

Save organizers time, scope the right MVP, and close a gap that was hurting retention.

01

User goal: Save time, reduce errors

Cut the hours organizers spent manually checking for conflicts and catch what slips through without back-and-forth adjustments.

02

Project goal: Find the right scope

Identify the conflicts organizers run into most, and determine what's feasible to support within our timeline.

03

Business goal: Close the workflow gap

Strengthen platform stickiness by closing the Agenda Center's biggest workflow gap.

Solution
Overview

Solution Overview.

Solution Overview.

Automating conflict detection and making the fixes more obvious.

Automating conflict detection and making the fixes more obvious.

We turned a manual, error-prone spreadsheet process into a configurable conflict checker. Organizers set up the conflict rules that apply to their event and get a report flagging the exact rows that need fixing. Less time hunting, more time resolving.

21%

Adoption rate among events with 100+ sessions

26

Median conflicts caught per event

2X

Faster conflict resolution

Basic or advanced check options

Basic or advanced check options

Basic or advanced check options

Run a basic check with no setup, or configure custom rules for speaker, room availability, and session timing.

Run a basic check with no setup, or configure custom rules for speaker, room availability, and session timing.

Run a basic check with no setup, or configure custom rules for speaker, room availability, and session timing.

Streamlined conflict rules setup

Streamlined conflict rules setup

Streamlined conflict rules setup

Catch conflicts, and know exactly where to fix them

Catch conflicts, and know exactly where to fix them

Catch conflicts, and know exactly where to fix them

  • Conflicts grouped by session, matching the row order in their Excel file.

  • Seamlessly import sessions into agenda builder after all conflicts are resolved.

  • Conflicts grouped by session, matching the row order in their Excel file.

  • Seamlessly import sessions into agenda builder after all conflicts are resolved.

  • Conflicts grouped by session, matching the row order in their Excel file.

  • Seamlessly import sessions into agenda builder after all conflicts are resolved.

Discover

Discover

Discover

Understanding what to build, and how much to build.

Understanding what to build, and how much to build.

Hundreds of events launch on Whova every month, so getting something useful out quickly meant we'd have real data to work with sooner. Before jumping into design, I wanted to get clear on what we were actually trying to solve. I synthesized insights from organizer interviews the research team had conducted, then ran competitive analysis across 4 platforms and did 2 production audits to assess feasibility. The research pointed to two clear insights:

RESEARCH

RESEARCH

INSIGHTS - WHAT THE RESEARCH TOLD US

INSIGHTS - WHAT THE RESEARCH TOLD US

01

Some conflicts should run automatically. Others should be configurable based on event needs.

Some conflicts should run automatically. Others should be configurable based on event needs.

Always critical, supported by all competitors

Double-booked speakers

Double-booked rooms

Context-dependent and require more attention

Speaker availability

Room availability

Preferred time for specific sessions

Sessions must not overlap

Track conflicts

02

Conflict checking could a standalone step between agenda planning and importing.

Conflict checking could a standalone step between agenda planning and importing.

70%+ of Whova users import their agenda from Excel

💭

Support an upload-based flow. Meet organizers where their agenda lives.

The Agenda Builder page is already dense with actions

💭

Conflict checking needs its own space, not bolted onto an existing page.

Scoping

Scoping

Scoping

How might we make conflict checking powerful enough to be useful, but simple enough to actually get done?

How might we make conflict checking powerful enough to be useful, but simple enough to actually get done?

Looking at what competitors had built, my first instinct was to go for something similar — in-platform scheduling with real-time conflict detection. But after seeing 70%+ of Whova organizers were importing their agenda from Excel, I realized that building that would mean asking most of our users to completely change how they work, just to use a new feature. That didn't make sense.

So I brought it back to the PM, and we scoped to something more focused:

Build a tool for the agenda organizers already have, not the one we wished they'd build in Whova.

Build a tool for the agenda organizers already have, not the one we wished they'd build in Whova.

Throughout the process, I had three principles to guide my work:

01

Setup approachability

Setup approachability

The conflict checker should feel easy to set up for both basic and power users.

02

Configuration efficiency

Configuration efficiency

The conflict rules should be fast to be established.

03

Actionable results

Actionable results

Results should be easy to understand and act on.

Focus Area 1

Focus Area 1

Focus Area 1

Rules dashboard: Finding the most intuitive setup flow

Rules dashboard: Finding the most intuitive setup flow

How might we onboard users into a configurable tool without front-loading complexity?

How might we onboard users into a configurable tool without front-loading complexity?

Research and competitor analysis pointed to a clear split: double-booked speakers and double-booked rooms are conflicts the system can check automatically — no setup needed. Everything else requires organizer input.

01 Explorations

First two explorations put all rules in one view.

First two explorations put all rules in one view.

02 Follow-up survey

After presenting the initial two designs to the team and testing them internally, I had two key observations:

After presenting the initial two designs to the team and testing them internally, I had two key observations:

  1. People spent significant time reading each rule description before understanding what it did.

  1. They showed hesitation when facing all rules at once — unsure where to start or whether they could skip anything.

Combined with the fact that some competitors only offered the two basic checks, I started wondering:

  1. People spent significant time reading each rule description before understanding what it did.

  1. They showed hesitation when facing all rules at once — unsure where to start or whether they could skip anything.

Combined with the fact that some competitors only offered the two basic checks, I started wondering:

"Was front-loading all the rules actually making setup easier — or just making it more overwhelming?"

"Was front-loading all the rules actually making setup easier — or just making it more overwhelming?"

So I proposed a mid-design survey to the team to validate my assumption.
The 60 responses we got from our organizers showed:

So I proposed a mid-design survey to the team to validate my assumption.
The 60 responses we got from our organizers showed:

50%+

of them only needed double-booked speaker and room checks. That's it.

Turns out, I had been designing for the minority the whole time. The real question wasn't "how do I present every rule clearly", but “how do I let the majority get in and out quickly, while still giving power users everything they need”.

Turns out, I had been designing for the minority the whole time. The real question wasn't "how do I present every rule clearly", but “how do I let the majority get in and out quickly, while still giving power users everything they need”.

03 Flow adjustments & Final design

Adding an onboarding step that lets organizers choose their path before they see any rules at all.

Adding an onboarding step that lets organizers choose their path before they see any rules at all.

✅

Segments users before they see any complexity.

50%+ of organizers get in and out without touching a single rule.

✅

"Set up custom conflict check" option also available to basic users.

✅

Stronger visual indication that basic conflicts are auto-checked.

Focus Area 2

Focus Area 2

Focus Area 2

Individual rule configuration

Individual rule configuration

How do we make nuanced constraints feel lightweight to configure?

How might we make nuanced constraints feel lightweight to configure?

Once organizers chose to set up custom rules, each rule type needed its own configuration. The key goal is to get each individual rule to feel quick and intuitive to set up.

I went through rounds of exploration, testing each internally and presenting to stakeholders to validate the interaction against how organizers actually think about when configuring the rules for different types of conflicts. Each round surfaced a clearer picture of the right mental model.

V1: Specifying speaker availability day by day

❌

Time-consuming to set up for multi-day events.

❌

Point of confusion: The UI couldn't tell you if leaving a date blank meant the date was unavailable or simply not yet filled in.

V2: Saving organizers' effort by pre-populating event dates

✅

All event dates presented to avoid manual entry.

✅

"Flexible schedule" checkbox allowed users to quickly indicate when a speaker is free for the entire day

❌

Wrong mental model: speakers typically only show up on the days they're presenting, but the design had no way to mark a day as unavailable.

🔵 Final

🔵 Final

Redesigning around how speakers actually show up

✅

Matches real behavior

Select the days they're there, ignore the days they're not.

✅

Default times pre-filled for available days

Users edit rather than enter from scratch.

Why we chose this

Focus Area 3

Focus Area 3

Focus Area 3

Conflict results display

Conflict results display

How do we reduce the friction for organizers to fix the conflicts back in Excel?

How might we reduce the friction for organizers to fix the conflicts back in Excel?

In this milestone, the fix happens back in the spreadsheet — not inside Whova. So the conflict report page had one job: make it as easy as possible for organizers to understand what's wrong and find the exact rows they need to fix in the file. I went through three structurally different approaches before landing on one that actually matched how organizers work.

Explorations: conflicts grouped by conflict type

Explorations: conflicts grouped by conflict type

❌

V1: The flat table layout cramped multiple columns, important content got truncated

❌

V2: Better layout, but a session with multiple conflict types still requires hunting across different sections.

Explorations: conflicts grouped by sessions

Explorations: conflicts grouped by sessions

✅

V3: Regrouping conflicts by session, listing all conflict types in one session card.

Fine-tuning the session-based layout for clarity and scannability

✅

All conflicts for one session grouped in one card to match the row organizers need to fix in Excel

Takeaways.

Takeaways.

Takeaways.

One common challenge in B2B design is limited access to real users — and this project was no different. To work around that, I leaned into internal testing and stakeholder reviews early, because I genuinely didn't know how organizers would approach configuring the rules. Putting designs in front of people before I felt ready was the only way to find out, those pauses gave me the confidence to move forward with the right direction.

The speaker availability form is a good example — it took three iterations to get right because the real constraint wasn't obvious until I watched how people actually responded to it. No amount of solo thinking would have surfaced that. That's something I'll bring to every project from here.

I didn't get a chance to talk to organizers during the design phase. Instead of letting that slow things down, I did internal testing, stakeholder reviews, and rounds of back-and-forth that helped me pressure-test each direction before moving forward. It wasn't the most efficient path — there were moments where I had to go back to the drawing board after a round of feedback, or pause mid-design to run a quick survey. But those pauses were what made the final design better.

The speaker availability form is a good example. It took three iterations to get right, the real constraint wasn't obvious until I put the design in front of people and watched how they responded. No amount of solo thinking would have surfaced that.

That's something I'll bring to every project from here.

Here's what that process delivered:

21%

Adoption rate among events with 100+ sessions

26

Median conflicts caught per event

2X

Faster conflict resolution

San Diego, CA.

© 2026  Xiaochen(Iris) Shi

San Diego, CA.

© 2026  Xiaochen(Iris) Shi

© 2026  Xiaochen(Iris) Shi

San Diego, CA.

© 2026  Xiaochen(Iris) Shi