Smash.gg is becoming the place where the esports industry goes to be more productive and efficient. Organizers run their tournaments, players represent themselves, and all the results are calibrated on smash.gg. However, we noticed that there were many inconsistencies in the navigation, and site functionality.
Navigation was inconsistent which made it hard for users jumping between profile types. Owners of multiple profiles expected to have access to similar functionality, but custom features were built for specific profiles without thinking of scalability.
We audited and reviewed the growing list of profile types and came up with a framework for profiles that would create consistent navigation and define a reusable pattern for creating features. I aggregated these ideas to create a design framework for how profiles work across smash.gg.
Profiles on smash.gg represent a person, organization, team, tournament, or ranking. Profiles should be a representation of who that person is, what games they compete in, how good they are, and what roles they play in the industry. Profiles on their own are important for the user experience, but the connections between profiles are the most valuable. What creates connections between profiles are features.
Features are the connections between profiles. A player’s profile may have a team list feature which connects this player to a specific team. Features show up in the sidebar and is the main way users can navigate on the page and between profiles. The addition of features makes their profile extremely customizable and allows the user to truly represent themselves on smash.gg.
Permissions is a feature that is on all profiles. Permissions are extremely important to representing some profiles because often times many people are a part of a single profile, for example a lot of people end up contributing to one single tournament. Permissions on profiles end up getting applied on a per feature basis. Roles can be set up to make assigning permissions to profiles easier.
The profile framework helped to create a collective understanding of how smash.gg organizes itself. It helped to speed up development because we are designing/building profiles and features in a way that can be shared across the different profile types. In additional to internal efficiencies this created it helped to create an easier navigation pattern for users no matter what profile type they are viewing.