Building production-ready AI workflows
Learn how product and engineering teams can use composable APIs, reusable patterns, and practical guardrails to build reliable AI workflows at scale...
Show more
I translated 20+ legacy event experiences into reusable, implementation-ready patterns within an evolving enterprise design system.
A mature global events platform was being migrated to a new enterprise design system.
Over time, event-specific requirements had accumulated across content, scheduling, responsive behavior, and lifecycle states, creating patterns that did not map cleanly to the new system.
My role was to separate genuine product requirements from legacy complexity, determine what could be reused, configured, composed, or selectively extended, and translate those decisions into reusable patterns, responsive rules, state models, and implementation-ready guidance.
01
The platform supported four connected stages of the attendee journey.
Find the content, people, and moments worth attention.
Key experiences
Turn discovery into a clear, personal agenda.
Key experiences
Stay oriented as the event changes in real time.
Key experiences
Continue learning after the live moment has passed.
Key experiences
separate variation from inconsistency
What the audit revealed
Many page-level inconsistencies came from a much smaller set of unresolved system decisions.
Session information, for example, appeared across catalogs, recommendations, schedules, search results, and detail experiences.
The unit of design shifted from the individual page to the recurring pattern.
02
Visual similarity was not enough to determine whether a system component could support a legacy requirement.
I evaluated each recurring need through six lenses before choosing a direction.
Product ↔ system decision model
Session cards were the strongest test of the system.
Depending on context, a session could require metadata, classification, speakers, scheduling, favorites, location, live availability, on-demand playback, and evaluation behavior.
The easiest solution would have been to rebuild the legacy card as a custom event component. I avoided that.
Session card transformation
Same product requirements.
Clearer system ownership.
▦Fri, Apr 18
◷1:00 PM - 2:00 PM
PST
⌗DEV302
Learn how product and engineering teams can use composable APIs, reusable patterns, and practical guardrails to build reliable AI workflows at scale...
Show moreDEV302April 18, 20261:00–2:00 PM PST
Use composable APIs and practical patterns to create reliable AI experiences at scale.
View session details →Moscone Center · San Francisco, CA
Moved into the existing system tagbar for discovery and onsite navigation.
Repositioned within the hierarchy instead of creating another UI region.
Mapped to a link-group pattern supporting imagery, multiple speakers, and overflow.
Controlled by lifecycle state instead of permanently occupying card space.
The card became simpler because the hierarchy became more deliberate, not because required information was removed.
05
A session card was not static. Its behavior changed as the event progressed.
Rather than designing a separate component for every moment, I modeled those moments as states of one underlying pattern. The same state model carried into Session Details, preventing contradictory behavior between discovery and the full session experience.
State model
The card structure remains consistent while the lower action region changes with lifecycle state.
BRK102
Tue · 10 AM · Room 401
Alex Morgan · Jordan Lee
BRK102
Tue · 10 AM · Room 401
Alex Morgan · Jordan Lee
BRK102
Tue · 10 AM · Room 401
Alex Morgan · Jordan Lee
BRK102
Tue · 10 AM · Room 401
Alex Morgan · Jordan Lee