





During my Academic Year Internship at SportsEngine, I designed a new set of dialog components to prevent irreversible user errors and unify inconsistent patterns across the platform. The project focused on building flexible, reusable components that clearly communicate different levels of risk, helping users feel confident when taking potentially destructive actions.
As an intern, I conducted research and reviewed guidelines, created wireframes and implemented feedback, designed components from scratch, and contributed to SportEngine's design system.
SportsEngine had only one dialog pattern in its design system. It wasn’t flexible enough to accommodate varying use cases, which led designers to create one-off solutions. This inconsistency introduced usability risks, especially for destructive actions like deleting critical user data.
Design a reusable, accessible dialog system that:
Follows design system standards.
Handles a range of destructive and non-destructive use cases.
Guides users clearly and efficiently through confirmation workflows .
Clearer language and visual hierarchy helped users better understand the consequences of their actions.
Tailored dialog types reduced the chance of accidental data loss.
Guides users clearly and efficiently through confirmation workflows.
Reduced need for custom dialogs saved designers and developers time.
Decreased potential for support tickets due to misclicks or errors.
Strengthened trust and satisfaction through a smoother, safer user experience.
A big stop sign that interrupts a destructive or permanent action that the user has taken. Allows for a second chance to consider before proceeding.
I audited dialogs across SportsEngine and found major inconsistencies:
Some had headers, others didn’t.
UX copy varied widely in tone and formatting (especially bolding).
Designers were improvising, leading to visual and functional confusion.
I explored best practices from trusted sources like Windows' Guidelines, Nielson Norman Group, and Material Design on dialog use cases. A key insight: dialogs should match the severity of the action. The more permanent the consequence, the more caution the interface should prompt.
Different guidelines recommended different things. Some stated that using phrases like "Are you sure?" and "Do you want to?" are unnecessary and undermine the user's confidence. Others stated that these questions encourage caution. I had to decide whether the header should be succinct or focus on slowing the user down and making them consider their actions.
I consulted the UX team to gauge if anyone had strong opinions, and then based my decision on what everyone preferred, which was my other idea of using a more direct “Delete [item]”.
Users should understand the dialog and their choices based on the title and button text alone. The copy must be succinct and efficient.
Using a checkbox reminded us of terms and conditions agreements, which users often click without second thought. Therefore, we all decided to use typing ‘delete’ as a double confirmation would be more effective at stopping the user. The caution icon denotes extra danger and is better practice than using "Warning!" for accessibility.
I outlined the dialog type variants, booleans, and size variants for implementation into my new dialogs. Then I designed the dialogs from scratch.
Designing a unified, easily navigable settings interface for Season Management to enhance user efficiency and consistency across all platforms.
Designing an intuitive teams interface for MYSE, where users can seamlessly access key team insights, manage communications, and stay connected through streamlined, visually engaging dashboards.