Automated Dashboard Design System
The following is a pared-down recreation of a design system I made for Immertec's web dashboard. I've showcased the system for creating tables.
![Mockup.gif](https://static.wixstatic.com/media/68c5fa_85d6bbc72eb944efbbcbe8eedb9d0d58~mv2.gif)
Filter prototype here. Multi-select prototype here. Design file showing my organization of components here.
![plugin 1.png](https://static.wixstatic.com/media/68c5fa_452048835812426ba8548d6d87225ba5~mv2.png/v1/fill/w_82,h_82,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/plugin%201.png)
Problem Space
The design team needed a system for tables that could accommodate the wide range of data found on the company's web dashboard.
![muscle 1.png](https://static.wixstatic.com/media/68c5fa_63d0dbb6f32840e78b2a43b2f1524d7e~mv2.png/v1/fill/w_82,h_82,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/muscle%201.png)
Challenge
Building a system from base components that would bring consistency and speed to the design process.
REQUIREMENTS GATHERING
Discussions between me, the senior UX designer, and the customer-success team clarified that the design would need to achieve the following:
-
Make use of components so that the design team could quickly design new tables and make changes to existing ones.
-
Have a robust search and filter function.
-
Allow users to select multiple rows and perform mass actions.
EXECUTION
1. Streamlining the table-creation process
First, I leveraged auto layout so the base component could accommodate between three to six columns.
![Row-Construction.gif](https://static.wixstatic.com/media/68c5fa_1f06ac5a05124d5d82104e41df8f74ef~mv2.gif)
Next, I created variants so the user could choose the type of data to be displayed in each column.
![Column-Details.gif](https://static.wixstatic.com/media/68c5fa_b8aeffb5d79c43bf934c89e0ffd884b5~mv2.gif)
Creating a table in Figma now looks like this:
![Table-Construction.gif](https://static.wixstatic.com/media/68c5fa_720de3af129b4fc2933cab6ca346744c~mv2.gif)
This approach speeds up the process for making new tables and standardizes design across the web dashboard.
2. Designing a search and filter system
An engineering bottleneck established that search and filtering needed to be localized to tables. Global search would be tackled at a later date.
Competitor research uncovered useful insights from companies like Stripe.
As was the case with tables, the filter system needed to be easy to implement in designs across the dashboard.
Here is what the filter bar creation process now looks like. Also shown are inactive, hover, and active states.
![Filter-Bar.gif](https://static.wixstatic.com/media/68c5fa_3bb44d4eb17142859ee231301dda76e1~mv2.gif)
3. Creating multi-select and mass actions
I created a system where available actions for rows become visible once a row is selected.
Selecting multiple rows only displays actions that can be performed en masse.
Actions for an individual row can also be reached through the ellipses on the right.
Here you can see the process for creating the available actions for specific tables from a base component. Hover and selected states are also shown.
![Action-Bar.gif](https://static.wixstatic.com/media/68c5fa_69dd57f8551f453aa5f696f9fedb7091~mv2.gif)
THE RESULT
The design file now contains base components for creating tables. This results in three major improvements:
-
New tables can be created with much greater efficiency.
-
Less effort is required to make changes to tables across the design file.
-
Tables are now standardized across the platform.