Case study•Tradeshow Events

Building BookIt's first event system for the conference floor

Sales teams booked meetings at shows like Dreamforce with a tool built for everyday scheduling. I designed the event system that replaced their spreadsheets and licensing hacks, and helped shape its architecture.

Role
Senior Product Designer
Team
PM+4
Timeline
May - Jun 2026
Status
ShippedQ3 2026
The tradeshow event page with venues, roster and meeting types
$400K+

at-risk ARR addressed

10+

named customers and prospects behind that revenue

1st

event-scheduling system in BookIt

01The problem

BookIt was built for everyday scheduling, not a conference floor

Every meeting runs on a meeting type: duration, availability, questions, confirmation. That works on a normal Tuesday. It breaks at Dreamforce.

No event-only time

No way to say "for these three days, ignore this rep's normal schedule and only book conference meetings."

No shared physical spaces

Demo rooms and booth stations had nowhere to live.

So teams left

Event teams moved to spreadsheets or competitors. The gap was costing deals.

Licensed usersIllustrative
MCMaya ChenAccount Executive1 seat
Demo Room A"User"1 seat
LOLuis OrtegaSDR1 seat
Booth Station 2"User"1 seat
The workaround: rooms set up as paid software licenses, as if they were employees.
02How I decided

Every option you hand an admin is a tax

A config-heavy tool turns into a wall of toggles fast. So every decision got one of three answers.

AddFlexibility that maps to a real need

When there's no good alternative, build it.

DeferCustomizations with a workaround

If users can already get there, wait.

AbsorbComplexity the system can already handle

Reuse what exists instead of inventing something new.

03Three decisions

Where the framework got tested

Add

Keep the whole event in one place

BookIt spread a meeting's pieces across separate pages. An admin setting up a conference would have to assemble it from all of them. Now the event holds its meeting types, roster, rooms and activity together.

Before
Before: pieces of one event spread across separate BookIt pages
After
After: everything for the event on one page

The cost: more engineering, and ongoing sync between event and global meeting types. A "Dreamforce demo" with a Dreamforce thank-you only makes sense for that event, so keeping it inside kept the global list clean. I judged the admin's clarity worth it.

Absorb

Protect reps' calendars with something that already worked

Instead of inventing event-only time, BookIt places an Event Hold, a real calendar block, on each rostered rep's calendar for the event hours.

Maya Chen · Dreamforce weekIllustrative
Tue
Wed
Thu
9 AM1 PM5 PM
Event Hold
Dreamforce demoAllowed event type
Discovery callBlocked
Event Hold
1:1 with managerAlready booked, kept
Dreamforce demoAllowed event type
Event Hold
Dreamforce demoAllowed event type
Event HoldEvent meetingExisting, never overridden
"I reused a primitive the system already handled correctly instead of inventing a new one. Coherent system, lower engineering cost."The principle
AddDefer

Draw the flexibility line on purpose

Two requests sounded equally reasonable. Only one had no workaround.

AddedCustom venues

Dreamforce sprawls across buildings, some across town. Without scoping a rep to their venues, the system could book a meeting they couldn't physically reach.

DeferredCustom working hours

Customers said reps are on the floor the whole event, so it was a rare ask. When it came up, reps could already block their off-hours.

Roster showing Maya Chen assigned to all venues Hovering the edit icon on Maya Chen's row Edit Venues modal open for Maya Chen, all four venues checked Moscone South unchecked, Save Changes now enabled Maya Chen now scoped to Moscone West, East, and North
Add the flexibility with no good alternative. Defer the flexibility that has one.
04The event

One conference, from setup to the post-show report

Set up

Venues, rooms, roster, meeting types

Go live

Checks before it can activate

On the floor

Book at the booth, pick a room

After

Outcomes by rep and room

Set up

Build the event once

Venues tab, empty state Create New Venue modal, empty Modal filled with a venue name and its locations Moscone West created and listed Hovering the Moscone West row Row expanded to show its rooms, booths, and tables
Venues and rooms

Rooms have capacity, get auto-assigned, and never double-book.

Roster tab with the Add Roster Members button Add Roster Members modal, member dropdown closed Member dropdown open, listing round-robin pools Three pools selected in the dropdown Dropdown closed, showing the selected pools Pools added to the roster as new rows Enterprise Sales Team row expanded to show its members
The roster

Add reps or whole round-robin pools. Saving places the Event Hold.

Meeting Types tab with the Create Meeting Type button Create a New Meeting Type drawer, General tab General tab filled in Availability tab Scheduling Pages tab Scheduling Pages tab filled in Notifications tab Notifications tab filled in New meeting type created and listed
Meeting types, in place

Set up inside the event, kept out of the global list.

Go live

It won't activate half-built

Draft→Active
A venue has no roomsFix
A rep has no venueFix
A meeting type has no availabilityFix

An event moves from Draft to Active only when its setup is complete. Instead of a generic "something's wrong," activation names each gap and where to fix it.

On the floor

Book at the booth

Schedule a Meeting — related contacts listed Alaiya Cano added as a participant Searching related contacts by email luca.carson added as a guest Meeting attendee switched to team member Team availability shown on the live calendar The 11:00 slot selected Complete Your Booking — room auto-assigned to Conference Room A Meeting booked
Routed and roomed automatically

The prospect picks a time. Routing finds an available rep, an open room is assigned, and the meeting is stamped to the event.

Schedule a Meeting, Tradeshow Locations set to Automatically assign Tradeshow Locations panel expanded Location Selection switched to Manually assign Location tree opened Moscone East deselected, narrowing to Moscone West Full view with the manual location set Hovering the 2pm LeanData Sales Demo slot 2pm slot selected Complete Your Booking, room pinned to Conference Room A Meeting booked
Override when it matters

For an executive meeting that needs the big room with a projector, schedulers can pick it by hand.

After

See how the show went

Activity Log, By Roster view Maya Chen's bookings expanded Activity Log, By Location view Conference Room A utilization expanded
05The cut

Halfway through, engineering got cut in half

The plan covered all three BookIt booking products. With half the team, I sequenced them by demand times differentiation instead of thinning everything evenly.

BUILD FIRST CAN WAIT 1Forms2Handoff3Links DIFFERENTIATION → DEMAND →
1
Forms

The dominant motion at conferences, with the most demand.

2
Handoff

A rep books at the booth. Routing makes it the most differentiated.

3
Links

Personal scheduling links. The least event leverage, so it waited.

The competition
Competitors worked around the gap. We closed it.

Competitors stretched general scheduling to look like event support: no real event, rooms that still needed their own paid accounts. The opportunity wasn't to match them feature for feature. It was to build the structured event system they'd worked around.

06Takeaways

What this taught me

On systems

A coherent system is its own discipline

This wasn't a set of screens. It was an object model, calendar mechanics that had to stay truthful, routing and a status lifecycle, all holding together. The work that mattered most was keeping the whole thing in my head, and making each decision serve the system rather than one screen.

On prioritization

The strongest decisions were what not to build

Absorbing complexity into what the system already had. Deferring flexibility that had a workaround. Cutting scope on purpose when resourcing halved. Knowing where to stop protected users from complexity and the team from a timeline it couldn't hit.

Keep reading
RevOps Agentic Platform case study cover, in progress
Next case study

RevOps Agentic Platform

Designing an AI agent companies trust with their customer data.

Read it →
BookIt Handoff case study cover
Also

BookIt Handoff

A 0-to-1 product that became a $1.2M licensed line in year one.

Off Platform case study cover
Also

Off Platform

LeanData's first standalone product, unlocking $300K+ in new ARR.

↑Back to top