available

/

BT AI Broker Terminal

BT AI Broker Terminal

BT AI Broker Terminal

BT AI Broker Terminal

A product that scaled faster than its design file. I built the system layer underneath it: tokens, components, file structure, and the documentation designers and developers now work from.

A product that scaled faster than its design file. I built the system layer underneath it: tokens, components, file structure, and the documentation designers and developers now work from.

Project info

Project info

YEAR

2026

ROLE

Design system — audit, architecture, docs

PLATFORM

Web, iOS

My role

My role

I owned the system layer: the audit, the token architecture, the component library, the file structure and the documentation. Another designer owned the product design. We worked in the same file.

A product that outgrew its file

A product that outgrew its file

The product was shipping. It had also scaled fast, and the designer who built it never had time to turn what he made into a system. That is a normal outcome under that kind of pressure, not a failure of craft. What it left behind was a file only its author could work in. Components had drifted into near-duplicates. The type set had grown past what anyone could hold in their head. Screens were named for whoever drew them.

My job was the system layer, not the product design. So the measure was never how it looked afterwards. It was whether a second person could open the file and tell what was correct.

Four decisions

Four decisions

Four steps, in the order the work happened: read the file, fix the variables underneath it, rebuild the components on top, then bring the screens into line.

1

Audited what was there before changing any of it

Audited what was there before changing any of it

WHY

The file was shipping and I had not built any of it. Before touching a component I needed to know what the product did, which screens existed, and which of them were still true. That work produces nothing to look at, which is why it usually gets skipped.

STRUCTURE

I went screen by screen to understand the product’s logic, then did the same with the text styles: an audit of what was actually in use. Styles that no screen referenced were struck through and removed.

An audit of what was actually in use. Styles that no screen referenced were struck through and removed. The column on the right is what survived.

2

Two token layers, so colour survives a rebrand

Two token layers, so colour survives a rebrand

WHY

Colour was applied literally. A token named after what it looks like has to be renamed the moment the brand shifts, and every reference breaks with it.

The variables themselves: 36 semantics pointing at 24 primitives, plus 11 number tokens for spacing and corner radius.

3

One component per object, not one per screen

One component per object, not one per screen

WHY

The same object had been drawn several times — a property card on the listings feed, another on the detail page, another in My Listings. Near-identical, separately maintained, and quietly diverging.

STRUCTURE

One card component now covers every case through properties: listing, investor request, agent post, compact row. What matters is not how many components are left. It is that designers and developers work from the same documented file and neither has to ask the other what is correct.

Role

Reusable object container.

Behaviour

Adapts to content length · supports conditional content visibility · maintains consistent hierarchy across variants.

Three lines — enough for a developer to know what the component does with content it has not seen yet.

Listing, investor request, agent post and compact row are the same component under different properties.

The same component in use.

Wrote rules, not descriptions

Wrote rules, not descriptions

WHY

Documentation that describes a component tells you what it is. Rules that say what it must not do are the ones that hold, because they answer the question a designer has when the component almost fits.

The Button page. Four roles, every state, plus link and icon variants, with the rules that decide which one a designer may reach for.

4

Named every screen once the system could say what a state was

Named every screen once the system could say what a state was

WHY

Naming came last for a reason. You cannot label a screen by its state until the system defines what the states are.

STRUCTURE

Every screen renamed to Section / State, sorted into 35 sections that follow the product’s own flows.

What changed

What changed

New screens are assembled from documented components instead of drawn from scratch. Drawing was never where the time went. It went into deciding which of several near-identical components was correct, and whether a text style could be trusted without overriding it.

Viktoria B

Viktoria B

Viktoria B

Create a free website with Framer, the website builder loved by startups, designers and agencies.