Case study · Dimark · Design system

One design system for a family of industrial apps

Dimark’s apps for airport baggage-handling lines grew one by one, and every one of them looked different. I built a single design system for them from scratch: colours, type, sizes, components and states, documented in Figma so developers could build new screens from ready parts.

DiMS and BRS, two apps in Dimark’s family built on the same system

Company

Dimark

Timeline

May 2022 – Jan 2024

My role

UI/UX designer, the only designer on the team

Team

Team leader, front-end and back-end developers, tester

Scope

DiMS and other apps in Dimark’s product family

Method

Atomic design, built and documented in Figma

01 · Problem

Every app looked different

Before the design system, each app in Dimark’s family had its own look, and new screens were designed from zero every time. On the line, service engineers struggled with small buttons and low contrast on the tablet.

For the business

One consistent product family, faster delivery of new features, and a base ready for accessibility requirements.

For service engineers

Bigger touch targets for work in gloves and readable contrast on the tablet.

02 · Foundations

Colour, type and size, decided once

I started with the foundations and set them up as shared styles in Figma: an orange palette for the brand and key actions, a grey scale for text and surfaces, one typeface, and three component sizes. The same value meant the same thing in every app.

Main · Orange

700

500

400

300

200

Neutral · Grey

700

500

400

300

150

100

Type · Montserrat

Label

SemiBold 16 / 24

Task Planned

Body

Medium 16 / 24

Replacement of consumable parts

Table

Medium 14 / 20

18-05-2023 17:14 · 2:30 h

Button

SemiBold 12, tracking 2

FILTER

Sizes · 32 / 42 / 48 px

32 px

Small

42 px

Medium

48 px

Large · touch on the tablet

03 · Components

From atoms to pages

I built the library with atomic design, following Brad Frost’s five levels: atoms, molecules, organisms, templates and pages. Small parts came first, then I combined them into bigger ones. A change to a button or a status reached every screen that used it, in every app.

Atoms · Buttons

Filter

Default

Filter

Hover

Filter

Pressed

The smallest parts: buttons, checkboxes, icons and priority flags, each with Default, Hover and Pressed states.

Molecules · Status filter

Planned

In progress

Done

Failed

Expired

Hold

Atoms combined into working pieces: status filters, search, sorting and the planner’s week switch.

Organisms · Task rows in the planner

DiMS planner task rows in six status colours

Click the image to see it larger.

Templates · The planner grid

DiMS planner template: empty weekly Gantt grid with teams

The layout without real data: days, hours and team lanes, ready to be filled with tasks.

Pages · The planner in use

DiMS planner after the redesign

The same template with real tasks, statuses and the team’s to-do list. This is the screen service engineers use every day. Names are blurred.

04 · States & colour

Six statuses, each with a colour and a name

A task in the planner moves through six statuses. Each one has its own colour, and the colour never works alone: the status name is always shown next to it. Components also come in variants such as Default, List and Pressed, and some, like the planner’s day buttons, in a light and a dark version.

Planned

In progress

Done

Failed

Expired

Hold

Task cards · every status, Default and Pressed

DiMS task cards in every status and state

05 · Accessibility

Designed for work on the line

Accessibility was part of the system from the start, not a check at the end. I also explained the rules to the team, so they stayed in place when new screens were built.

Work in gloves

→ Touch targets of at least 48 px, main actions at the bottom of the screen

Low contrast on the tablet

→ A palette checked against WCAG AA

Statuses told apart by colour

→ Colour plus the status name, never colour alone

06 · Handoff

New screens from documented parts

Every component was documented in Figma with its sizes, variants and states. Developers built new screens from these parts instead of waiting for each screen to be designed from zero.

07 · Outcome

What the system changed

One product family

→ DiMS and Dimark’s other apps share one set of components

New screens

→ Built from documented components, not from zero

Accessibility

→ A base ready for WCAG requirements

Contact

Complex product?
Let’s make it clear together.

Drop me an email:

Drop me an email:

Drop me an email:

Poznań

12:27 am

Wednesday, October 21 (GMT+2)

Reykjavik

10:27 pm

Tuesday, October 20 (GMT+0)

Washington

06:27 pm

Tuesday, October 20 (GMT-4)

Taipei City

06:27 am

Wednesday, October 21 (GMT+8)

Poznań

12:27 am

Wednesday, October 21 (GMT+2)

Reykjavik

10:27 pm

Tuesday, October 20 (GMT+0)

Washington

06:27 pm

Tuesday, October 20 (GMT-4)

Taipei City

06:27 am

Wednesday, October 21 (GMT+8)

© 2026 Marta Korza · Poznań, Poland · working worldwide

© 2026 Marta Korza · Poznań, Poland · working worldwide