Selected work
MobalDesign systems

Building a design system for AI-assisted building

From two engineers building and reworking components to one mainly reviewing pull requests: the design system behind Mobal’s AI-assisted component delivery.

SaaS · MartechMobal design system components and foundations

From component implementation to review

Previously, two engineers built and reworked components. By the period described here, one engineer mainly reviewed and approved pull requests.1

I built a shared component language for designers, engineers and AI tools. I audited the UI, defined components and states, agreed contribution rules and brought the system into our AI-assisted workflow.

From a component library to an AI-assisted workflow

I joined Mobal when its Vue.js component library supported a small, services-led listing product. As we expanded into an online marketing platform, we needed components that designers, engineers and AI tools could reuse across features.

I led the design-system work: auditing the UI, defining components and states, agreeing on contribution rules, and bringing the system into our AI-assisted workflow.

Mobal — project detail

The cost of rebuilding the same UI

The original library helped us ship early versions. As we explored new features and brand directions, we introduced components with different styling, behaviour and logic. Developers duplicated or overrode existing UI code, then spent time fixing the inconsistencies.

After a team restructure, we had fewer people and still needed to test new product ideas in competitive Nordic markets. Rebuilding components for each feature was using time we needed for that work.

Audit the behaviour as well as the visuals

I began with John, a developer with an interest in design systems. We catalogued components, found duplicates and one-off implementations, and compared how similar controls behaved across the product.

During the 2023 platform redesign, I expanded the audit with the Head of Product, Tech Lead and developers. We mapped components, usage patterns and deviations in FigJam. Over four weeks, we agreed on priorities, translated shared patterns into coded components and resolved differences between design and implementation.

Design system audit

Define a smaller set of components

I removed redundant and overly specific components and defined the remaining set around variables, states and explicit behaviours. We could extend those components as requirements changed, rather than create another one-off version.

The same structure gave AI tools named tokens and documented patterns to work with. That became useful as we brought Claude and Devin into component development.

Make the system part of delivery

Throughout 2024 and 2025, I worked with engineering to refine components and document them in Storybook. Before implementation, we discussed each new component’s purpose, states and interactions.

Teams could reuse UI logic in new features, and we had a shared reference for checking whether the implementation matched the design. We continued maintaining the system as the product grew.

I brought AI tools into specific parts of this workflow:

Mobal — project detail

Designers could prepare more of the component implementation before engineering review. Previously, two engineers built and reworked components. By the period described here, one engineer mainly reviewed and approved pull requests.

The following Figma views show the system’s foundations and reusable layouts.

Mobal — project detail

Colour system

Mobal — project detail

Typography

Mobal — project detail

Layout grid

Mobal — project detail

Reusable feature layouts

Mobal — project detail

Component inventory

Mobal — project detail

Mobal — project detail

Working with AI-generated components

We implement and document components in Storybook. Claude and Devin can use those definitions to generate components that we validate and publish through the same workflow.

Mobal — project detail

Mobal — project detail

The system reduced repeated component setup and engineering rework. It also made it easier to test new features using existing patterns. We are extending Devin’s role in system maintenance and exploring prompt-driven interface creation in Claude using our tokens and components.

Footnotes

  1. An observed change in how the team delivered components, not a measured productivity multiplier or an isolated effect of the design system. The workflow and tool responsibilities are described below. ↩

Next project

From task brief to finished result

Switch AI

Book a call