My contribution for components & patterns across Web, iOS & Android
design, plan, build, release, announce, test, map dependencies, and best practices,
standardize team methodology across designers,
write content for, publish, and evangelize a Design System Documentation website,
conduct user research sessions with Design System consumers to learn about areas of opportunity,
onboard designers, engineers, and Product Managers to the Compass Design System,
mentor mobile designers on best practices during high-stakes Mobility Reviews with leadership.
To date, the Compass Design System contains:
a Figma library of shared components, icons, UX patterns, and styles,
> 57 components written in React and CSS,
a 188-page website of documenting all components, best practices, code samples, and APIs for all tokens, atoms, components and patterns
product content guidelines for writing for the Compass platform,
At the time of writing, the Compass Design System is in active use at Compass by all web front-end, iOS, and Android teams. It enables 600 engineers,85 designers, and $254M of real estate transactions yearly.
Company: Compass Real Estate Team: Corey Greeneltch, Jane Park, Hiram Moncivais, Lucas Reis, Keri Martin, Trevor Burnham, Michael Haggerty-Villa, Kingsley Ehiogu, Kayoung Lee, Bill Heberer, Zachary Plata Role: Staff Product Designer & Front-End Developer Timeline: 2021-2022 Status: in active use
Here are two examples of my contributions: bulk actions and the listing card:
Bulk actions pattern
Real estate agents work fast and deal with large amounts of data yet the Compass platform had no single way of enabling agents to perform bulk actions on that data.
I designed the Bulk actions pattern for web, mobile web, iOS and Android with the additional goal of sticking close to native platform look & feel.
Desktop Web
Bulk actions for the desktop web
Mobile Web
Bulk actions for mobile web
iOS
iOS consumer listing card
Android
Bulk actions for Android
Bulk actions lifecycle
Performing actions in bulk is inherently a multi-step process. To better support this notion for our community of builders, I documented the steps that take place when Bulk Actions occur.
1. Select mode
Optional Not all pages offer item selection at the top-level. It may be necessary to toggle that mode on with a CTA.
2. Selection
Select what should be acted on.
2.1 BulkActions appears
When working with a Table, BulkActions animates up from the top of the Table when an item is selected. In non-Table scenarios, animate BulkActions from the point where Select mode is initiated.
2.2 Bulk selection
Optional If it makes sense, offer "Select all". If so, make use of the "Select All Bar" component. Select the items on a page before offering to select all items in a data set.
2.3 Apply constraints
BulkActionBar reacts to only allow logically possible actions.
A Poptip may show to clarify why an action is disabled.
3. Action
BulkActions Buttons are an ingress to custom designed user-flows. Clicking an Button may result in the action being performed instantly, or in a modal dialog asking for more information or confimation.
4. Notification
Notify about the result of their action. This can be done with a Toast. Bonus points if you offer the possibility an Undo button in the confirmation Toast. Inform the user if an action takes longer than 1 second to perform.
5. Resolution
Once an action has been performed, return to the data list with the same items selected, unless the action triggered is one which changes the acted-upon items. (e.g. merge, delete, archive)
The listing cards
The property listing card is the centerpiece of any real estate platform.
I was tasked with the Listing Card construction for real estate agents and home buyers across Web, iOS & Android.
Consumer listing card
Web
Web consumer listing card
iOS
iOS consumer listing card
Android
Android consumer listing card
The agent listing card
As expert users, real estate agents are used to data density. These web listing cards are designed to accomodate more information in less space.
Card
The Card appears in data-dense grids.
Pill
The Pill appears in data-dense lists alongside maps.