Design system · 2.0

Every Kaptio surface, one system

Platform & Services · 18 August 2026

Agenda

What we’ll cover

  1. Where we were

    The system before the rebuild.

  2. What we changed

    Tokens, components, and the deck layer.

  3. What it guarantees

    Theme-safe output with verified contrast.

  4. What we are asking for

    Adoption in Connect and Spotlight.

We had six products and eleven shades of teal.

Where we started

One system, shipped from Reykjavík.

Built for operators whose product catalogues do not fit a spreadsheet.

2014Founded in Iceland
11Components documented
3Themes audited
1Yellow slide per deck
Coastal mountains rising from the sea in Iceland at golden hour.

Before

11Teals in productionFour of them a rounding error apart.
49Contrast failuresFound the first time anyone measured.

Contrast failures · by release

Nobody was measuring

  1. 49

  2. 44

  3. 31

  4. 12

  5. 0

  1. 1.2
  2. 1.4
  3. 1.6
  4. 1.8
  5. 2.0

Part one

What we changed

The shape

Three tiers

Only the middle tier themes, and it is the only one you reference.

PRIMITIVERaw value--flux-teal-700SEMANTICRole, per theme--flux-text-primaryCOMPONENTGeometry--flux-button-pad-x

How one change reaches a screen

  1. PrimitiveA value changes in one file, once.Design system
  2. RoleEvery theme that binds the role picks it up.Design system
  3. BuildContrast is re-audited before anything ships.CI
  4. ProductOne import, and no product-side edit at all.Connect · Spotlight

What ships

  1. One stylesheet, three themes.
  2. A contract agents read before writing UI.
  3. A check that fails the build.

Rollout

Every surface by March

  1. Aug 2026PublishedTokens, contract and check, on a versioned URL.
  2. Oct 2026ConnectThe largest surface, and the one with the most drift.
  3. Dec 2026SpotlightShares the shell, so it follows within weeks.
  4. Mar 20271.x retiredThe frozen artifacts stop being served.

Agenda

Where we are

  1. Where we were
  2. What we changed
  3. What it guarantees
  4. What we are asking for

Flux 1.x

Rules written down, enforced by review, and quietly missed on every deadline.

Flux 2.0

The same rules, in the stylesheet and in the linter. Nothing left to remember.

Adoption

72% of components reference a role

The remainder are the ones that still name a colour outright.

The first thing the agent did was ask which token it should use. It has never asked before.

Engineering, Connect

The first year

327Tokens across three tiersEvery one of them audited on every build, in all three themes.
324Pairings checked
3Themes, no forks

What is guaranteed

Contrast

Every pairing audited against WCAG on every build.

Hue

A warning stays yellow on all three grounds.

Themes

A missing key in one theme fails the build.

The Connect console showing a reservation timeline.

One timeline

Every state change, in order, with the actor who caused it.

After

0Contrast failuresHeld there by a check nobody can skip.

A rule that cannot fail a build is a suggestion.

Colleagues working together around a table.

Adopt it in Connect and Spotlight this quarter.

One line to import. 1.x stays frozen where it is.