Creating the App Planeatary for a Sustainable and Healthy Diet
Planeatary is a mobile app designing to support users to follow a healthy and environmentally friendly diet.
Creation of a comprehensive pattern library for the D3 product family of Digitec GmbH, for documentation and standardization of used design patterns.
Design Pattern = generalizable solution to repeatedly occurring (UX / design) problems.
October 2018 ➙ December 2018
During a three month internship at Digitec GmbH I created a pattern library for their software product family D3. The D3 products D3 Sheets, D3 Curves and D3 Elements together form a pricing engine for FX and MM trading and are used by more than 40 of the world’s leading FX trading banks. The products are developed using the programming language Scala, the user interface is designed with JavaFX and CSS.

When I came to Digitec as an intern, only one UX Designer was working there. Short after we were three people, and while all the Design Information was in the head of the Senior UX/UI Designer, there needed to be a Design System to make communication easier. Moreover, many special solutions were built into the software, which could be replaced by other more standardized patterns - if these were written down and their purpose defined. Here is a short list of the hoped-for improvements through the introduction of a pattern library:
After the decision was made that the product family should get a pattern library, research was the first thing to be done. I compared various pattern libraries and design systems from other companies:
Moreover, I also researched how a pattern library can be structured and what existing concepts exist. I list a few of the most inspiring ones below.
None of the existing concepts seemed to be a perfect fit for our purposes. Therefore, I developed a new concept primarily based on Atomic Design, but extended for our purposes. I will describe the exact concept below using the practical implementation in the paragraph “Creation of the Pattern Library Documentation”.
The first step for actually creating the Pattern Library for Digitec GmbH was to thoroughly explore the products of the D3 product family and write down every recurring element. While doing so I assessed all of them and asked myself: What task(s) does this component fulfill? Which problem is solved by it? While some Patterns were really obvious, like Buttons and Checkboxes, others where a little more hidden and this work of abstraction also showed some cases of several patters solving the same problem that should than be unified.
During the process and since the Pattern Library is never fully finished also afterwards, there needed to be a guideline how to deal with candidates that might be added to the Pattern Library:
The new element...
Since the goal of the Pattern Library was to ease the communication between different departments (like UX Design and Development), I decided to use the existing internal documentation Atlassian Confluence to create the Pattern Library. This way it is easily accessible for every colleague and no additional software is needed.
The Pattern Library was created in itʼs own space in Confluence having a landing page and navigation sidebar. The space was than split into the different parts of the Pattern Library: Design elements, Atoms, Molecules and Organismns. Later we added Processes and Guidelines because we noticed that there were more higher level patterns that need to be represented in the Pattern Library as well. I will go into detail about every category below.
= the basic building blocks on which the rest of the patters are built.
Strictly speaking, these design elements are not patterns, but they are still an important part of the Pattern Library, because everything else is build on and out of them. They are colors, fonts, icons, cursors, appearances (such as shadows) and graphic elements (such as backgrounds) used in the software. In the Confluence documentation each different design element category has one page listing all the elements.
= GUI items that canʼt be broken down further than into design elements.
Since there are a lot of Atom patterns in the product family, I have further subdivided them into the following categories (based on the book “About face”):
Every Atom is has the same structure that is represented by a table. The structure as a table allows the usage of a Confluence macro that makes it possible to create a overview on the parent page (“Atoms”) where all the controls are listed with their name, preview and the problem they solve. Every Atom has the following categories:
= patterns that are composed of other patterns (atoms) and design elements.
Molecules are more complicated/less abstract than atoms and occur much less frequently in software. Like Atoms they all follow the same structure, using a table for the overview page and different categories:
= patterns that consist of molecules and atoms and form relatively complex, clearly delimited areas of the software.
I only identified two Organisms throughout the software. Since these are really complex constructs the probability that they are reoccuring is low. The two Organism pages follow the same structure, but are a lot shorter than the other Patterns, they only have these fields:
= patterns that represent recurring interactions/ processes.
After working with the Pattern Library for a while we added “Processes” since we were lacking the ability to define Patterns that arenʼt necessarily visible but more a description of a process/ user interaction. An example for a Process is Drag & Drop, which is possible on several places throughout the software and always follows the same rules: there is a drag candidate marked by drag indicators and several drop candidates, both components use different colors and different cursor hintings are in place.
As the other patterns Processes are structured in a table that makes up the overview parent page. But they use different categories, e.g. a Preview is not necessary since the problems arenʼt all visual.
= patterns that support decision making.
Guidelines are the newest addition to the pattern library. They are on the highest level and donʼt follow any specific structure. Your goal is to define rules for a specific design problem. The two guidelines existing so far are Control States and Control Access. The Control States guideline describes the rules of usage and design choices of different control states like readonly, disabled, hover, active and pressed. While Control Access is a defined decision tree when to hide and when to disable a control.
While creating the Pattern Library in Confluence, I also created a Library document in Adobe XD with all the controls. Each control is represented by a component and the whole document forms a CC Library that can be used in other Adobe XD documents. The components support responsive resizing and changing text labels in their instances. If a change (e.g. change of color or general redesign) is made in a component in the Pattern Library document it is reflected in all the documents using the component.

Planeatary is a mobile app designing to support users to follow a healthy and environmentally friendly diet.
CONSCIOUS.CHOICE is an e-commerce platform visualizing sustainability in fashion products that allows users to make sustainable decisions.
Get in touch for opportunities or just to say hi!