Gitlab hero border pattern left svg Gitlab hero border pattern right svg

UX Department

On this page

UX Department

We make a software product that is easy to use and enables everyone to contribute. We are building GitLab for a diverse, global community. To achieve this vision we need to understand the communities' behaviors, needs, and motivations.

The UX Department works cross-functionally internally and with community contributors to meet these goals. We believe in iterative improvements and value aggressive change. We may get some things wrong but will quickly strive to make them right. We have a long way to go, which is why we are taking significant steps.

UX Vision


GitLab should be productive, minimal, and human. We want to design the most complete, most uncomplicated but adaptable DevOps process that allows people to focus on being the best at their job.


Yielding favorable or useful results; constructive: a productive suggestion.

User Experience is part of everything we do.

Everyone at the company understands the role of UX and everyone contributes to the user experience.

Our solutions make users feel confident and efficient.


Simplicity driving maximum effect.

Design is about iteration, let’s continuously iterate on our processes.

Minimize distractions and clutter so users can focus.


Self-aware. Emotional, yet rational. Understandable and helpful.

Be Ambitious

Be Helpful


The UX Department works alongside the community, Product Managers (PMs), Frontend engineers (FE), and Backend engineers (BE). PMs are responsible for kicking-off initiatives, taking action, and setting the direction of the product. PMs don't own the product, they gather feedback and give GitLabbers and the community the space to suggest and create.

UX should assist in driving the product vision early in the process. We inform the vision by conducting research, as well as facilitating discussion with community members, customers, PM, FE, and BE. We are elevated, above the transactional workflow, and generative, generating work rather than executing tasks.

Holistic UX

Though we structure our work around individual stages of the product (Plan, Manage, Create, etc.) we should not separate look, feel and process from what the user is trying to accomplish. We must maintain a focus on what the user needs to get done and how to deliver that in the most effective manner possible. This includes how users flow from one stage of the product to another. Maintaining a holistic overview of the path a user may take allows us to see the possible twists and turns along the way. With this knowledge, we can optimize the user experience.

It is the responsibiliy of each Product Designer to understand how users may flow in and out of their area of focus.

Experience Baselines and Recommendations
Designers use Experience Baselines to benchmark common user tasks. In many cases, tasks involve multiple stages of the product, giving designers visibility into how users traverse across stages. Designers follow with Experience Recommendations for how to improve the experience in upcoming milestones.

Stable Counterparts

Every Product Designer and UX Researcher is aligned with a PM. The UXer is responsible for the same features their PM oversees. UXers work alongside PMs and engineering at each stage of the process—planning, discovery, implementation, and further iteration. The area a UXer is responsible for is part of their title, e.g. "Product Designer, Plan." You can see which area of the product each Product Designer is aligned with in the team org chart.

UXers may also serve as a "backup" designer for other areas of the product. This area will be listed on the team page under their title as an expertise, e.g. "Plan expert." UX backups should be just that—backups. They are there to conduct UX reviews on MRs when the Product Designer for that area is out. The UX lead for a given area should coordinate with the PM and their backup during scheduling for any work that is critical. Critical UX work is defined as any work that addresses an outage, a broken feature with no workaround, or the current workaround is unacceptable.

Everyone can contribute

The UX department is not solely responsible for the user experience at GitLab. Everyone is encouraged to contribute their thoughts and ideas on how we can make GitLab better. Open an issue and tell us about your idea. You can use just words or include images. These images can take a variety of forms; here are just a few examples:

If you are creating high-fidelity designs, please make sure to let others know that this is a proposal and needs UX review. You can ping anyone on the UX team for assistance.


Here at GitLab, iteration means making the smallest thing possible and getting it out as quickly as possible. Working like this allows us to reduce cycle time and get feedback from users faster, so we can continue to improve quickly and efficiently.

Iteration isn't just one of GitLab’s six founding values, C.R.E.D.I.T, it is one of the foundational concepts in design thinking and user experience. Planning too far ahead without real-world feedback can cause you to build something that doesn't meet user needs.

Iteration is especially vital in an open-source community. Keeping changes small and iterative makes it easy for anyone to contribute. Here are some examples of how we are embracing the power of iteration and using it to build GitLab:

Design culture

The culture of the design department is characterized by the following:

UX Resources

UX Workflow details

Read about UX Department workflows.

Read about Product Designer workflows

Read about UX Researcher workflows

GitLab design project

The GitLab design project is primarily used by the Product Design team to host design files and hand them off for implementation. For details, please visit the README for the project.

GitLab Design System

The GitLab Design System was developed to increase iteration speed and bring consistency to the UI through the creation of reusable and robust components. This system helps keep the application DRY and allows designers to focus their efforts on solving user needs, rather than recreating elements and reinventing solutions. It also empowers Product, Engineering, and the Community to use these defined patterns when proposing solutions. The Design System can be viewed at It is currently a work in progress.

The project and repository for can be found here.

GitLab SVGs

Our GitLab SVGs repository manages all SVG assets by creating an SVG sprite out of icons and optimizing SVG-based illustrations.

All of our SVGs can be previewed using this URL

UX research project

The UX research project contains all research undertaken by GitLab's UX researchers. This project is used for the organization and tracking of UX research issues only.

UX design archive

The UX design archive is a collection of key design issues broken down by specific areas of GitLab. It is not a comprehensive list. It is intended to shed insight into key UX design decisions.

System usability score

Once each quarter, we run a System Usability Scale (SUS) survey to measure user perception of the GitLab product. We send the survey to members of the wider GitLab community, with the goal of asking for a response from any individual no more than twice per year.

UX on social media

It is encouraged to share UX designs and insight on social media platforms such as Twitter and Dribbble.


You can contribute design-related posts to our @GitLab Twitter account by adding your tweet to our UX Design Twitter spreadsheet.

  1. Add a new row with your tweet message, a relevant link, and an optional photo.
  2. Ensure that your tweet is no more than 280 characters. If you’re including a link, ensure you have enough characters and consider using a link shortening service.
  3. The UX Lead will check the spreadsheet at the beginning of each week and schedule any tweets on Tweetdeck.
  4. Once a tweet is scheduled, the tweet will be moved to the "Scheduled" tab of the spreadsheet.


GitLab has a Dribbble team account where you can add work in progress, coming soon, and recently released works.