HeyBryan
HeyBryan is a startup that connects home service experts with anyone who needs tasks done around the home.
Unite departments around a common visual language, deliver consistent user experiences across products, and increase development speed.
Create and document the design system involving:
Research uncovered the following problem areas.
Inefficient patterns
Multiple design patterns solving the same problemReduced velocity
Increasing design and technical debt slowing down product outputInconsistencies
Discrepant styles and interface designs weakening the brandCreate a collection of reusable components, guided by clear standards, that can be assembled together to build any number of applications.
A product that focuses on accessibility, inclusivity and aligns with our users' mental models.
During our first design sprint using the system, we began to see huge leaps in productivity when creating new designs.
I followed Alla Kholmatova's excellent book 'Design Systems' - creating design languages for digital products.
I started by defining our design principles to ensure the purpose of the product manifested in the design and to help articulate the personality we want users to experience.
The purpose is the core of the product and should inform design and development decisions. Based on our understanding of who our users are, their goals, needs and motivations, I expressed the purpose as:
Connect caring experts with house proud customers and enrich them with a personable and trustworthy experience.
Empowering
Nothing makes you feel uncomfortable or like you can’t trust the system. The system aids you when needed.Inclusive
Everything we design should be as usable, legible, and readable as possible. We prioritize accessibility over beauty.Conversational
The system speaks the user’s language. Our use of copy and interactions breathes personality into our product and allows us to communicate with users in easily understood ways.Functional patterns are the tangible building blocks of the interface. Their purpose is to enable or encourage certain user behaviours.
To deconstruct pages into their simplest component forms and define the essential design patterns, I created an interface inventory.
Auditing all interface elements allowed me to uncover inconsistencies, expose redundancies, and ensure all components were accounted for.
After collecting and grouping all elements by purpose, I decided to merge or keep patterns separate. I did this by mapping out the content structure of each component.
Typically, elements that can be merged into one pattern share the same underlying structure.
Perceptual patterns are the styles and skin of the interface, such as tone of voice, typography, colour. They help express the brand image.
The first step was to identify aesthetic qualities and pin down distinct elements that convey the brand.
Similarly to the interface inventory, I collected and grouped individual style elements by purpose, then defined patterns.
Next, I defined patterns based on the purpose and feel.
Finally, we agreed on a few fundamental principles for how to use perceptual patterns. Guiding principles helped us approach styles such as colour holistically. A general example of one of our guiding principles for colour is:
Always use accessible colour contrast.
A pattern library is a tool for documenting and sharing design patterns.
I documented the MVP pattern library in a Google doc allowing everyone on the team to access the content and make changes.
Having a common methodology for organizing patterns made it easier to add and find things as the library grew.
We used the following naming structure to organize our patterns by structure and finally, purpose.
Stage | Definition | Relationship | Example |
---|---|---|---|
Elemements | Foundational building blocks | Combine to create components | Label |
Components | Simple groups of UI elements functioning together as a unit | Made up of elements and combine to create patterns | List item |
Patterns | Enable or encourage certain user behaviours | Made up of foundational elements | Cost list |
While creating the patterns, I organized them in sketch library files, which we referred to throughout the design process.
Using the system has increased velocity for design and development.
Creating a design system takes time and requires input from the whole team. Collaboration is essential to ensuring the system embodies the right values and solves user problems that directly impact business goals.