Lena Lehuby
← Selected work Case 03 / 04
03

Yexit · Design system · 2026

An AI-ready design system for Yexit

Yexit's screens were designed in a Figma file built on the Untitled UI kit. The token names described the kit, not the product, and the components carried no descriptions. With an AI agent, I rebuilt the system as one reference that people and AI tools read the same way: three token layers, a usage note on every colour, rules written as constraints, and components in code.

Role
AI product owner and product designer
Source
The Yexit Figma file, built on Untitled UI
Output
A token file, a brand book and 41 coded components
In use
Default system for the AI tools that generate Yexit screens and prototypes
473 Colour tokens, each with a usage note
264 With separate light and dark values
45 Text styles in two families
41 Components in code
  1. 01 Audit An agent reads every Figma variable in both modes.
  2. 02 Layer Primitives, kit roles, then names for what each token does.
  3. 03 Describe A note on every colour. Rules that can be checked.
  4. 04 Build Components in code, from the file's structure.

Starting point

The file came from a kit. Its colour variables kept the kit's names, a second colour collection sat unused, and one name, bg-brand-solid, filled the primary button with slate in light mode and blue in dark mode. The components carried no descriptions.

A designer works around that by looking at the file. An AI agent picks a token by its name and its description. Where neither says what a colour is for, the choice is a guess.

The audit

An AI agent read the variable collections through the Figma plugin API and listed every token with its value in each mode. Four findings shaped the rest.

  1. F1 The brand's royal blue existed only in the unused collection.
  2. F2 One name carried two different colours across modes: bg-brand-solid.
  3. F3 The kit's border on inputs and secondary buttons measured 1.6:1 against the page in light mode, below the 3:1 that controls need.
  4. F4 Some text pairs fell below 4.5:1 in dark mode as defined in the file: text-tertiary at 4.3:1, text-placeholder at 2.4:1. Their notes say so.

Three token layers

The system keeps three layers, each with one job. Screens never use the first layer directly. Where an intent token exists, it replaces the kit role: the primary button is ink, not bg-brand-solid.

Layer 1 · Primitives Values only. Slate greys, brand blues, warm sand.
neutral-600 primary-300 brand-600 sand-200
Layer 2 · Kit roles Untitled UI's semantic names, kept so the kit's components still work.
bg-primary text-primary bg-brand-solid border-brand
Layer 3 · Intent names Named for what they do in Yexit. Screens start here.
ink surface accent tint-mint

From kit names to intent names

The renaming is where the system became readable. Each new name states a job and a limit.

Kit name Intent name
bg-brand-solid Slate in light mode, blue in dark.
ink The primary action in both modes. The brand's dark grey, never pure black.
primary-* Royal blue, in a collection nothing used.
accent One highlight per screen: links, progress, the key word.
border-primary Grey stroke on inputs and secondary buttons, 1.6:1.
border-outline The one stroke the system draws, on secondary buttons, 4.9:1 on surface. Fields drop the stroke and become cards.
border-secondary, border-tertiary Light grey dividers.
rule One 1px hairline at 20% ink, between sections and list rows. Never inside a control.
shadow-xs … shadow-3xl Eight kit shadows.
shadow-soft-xs … shadow-soft-lg Four soft shadows in ink. A hover lifts a surface one step.
bg-primary Page and controls alike.
surface Floating surfaces: cards, chips, fields, menus. bg-primary stays the page.
Added No kit equivalent.
tint-mint, tint-lavender, tint-yellow, tint-sky People and categories only, with on-tint text. The same tint for the same person everywhere.

A note on every colour

Each of the 473 colour tokens carries a note: what it is for and, where it matters, what it pairs with and its contrast ratio. The note is what an agent reads when it chooses a colour, and what a reviewer checks the screen against.

Light #2E3440Dark #F3F4F6
ink The brand dark grey: primary action fill, tooltips, checked and pressed states. Never pure black. Off-white in dark mode. Pair with on-ink. on-ink on ink · 12.5:1 light · 11.3:1 dark
Light ink 20%Dark 12%
rule Editorial hairline: a 1px rule between sections, under a page header, between rows in long lists. Never inside a control. Decorative · no text on it
Light #2F5CBDDark #3F6DCF
accent The one accent: links, arrow links, the underline under a key word, progress. One highlight per screen. 6.2:1 on surface light · 3.4:1 dark, a mark only

Rules written as constraints

The brand book is written as rules that can be checked, not as mood. Each rule names the tokens it uses. The same list serves the agent that generates a screen and the person who reviews it.

  1. C1 One accent per screen, and at most one accent word in a headline.
  2. C2 Touch targets of at least 44pt. Nothing reachable only on hover.
  3. C3 Fields are cards on surface with shadow-soft-sm, never outlined.
  4. C4 The tints mark people and categories, never decoration.
  5. C5 Sentence case. No emoji in interface copy.
  6. C6 Phone first: a 390pt screen, one column, the primary action in the thumb zone.

Components in code

41 components are built in code from the structure of the Figma file: 32 from the kit and 9 Yexit patterns. The Figma components had no descriptions, so their guidelines were written from the file. Each component page lists the Figma variants it leaves out and the quirks it keeps from the source.

From the kit · 32
Buttons and links
6
Inputs
3
Selection controls
3
Selects and menus
5
Badges and tags
3
Avatars
4
Progress and sliders
3
Tooltips
2
Media and editing
3
Yexit patterns · 9
MemoryCard FeaturedCard GlassBar StatTile ListRow ListRowGroup CirclesGraph DayTile DayTileStrip
Built from the reference screens: memories as photo tiles and album mosaics, the circles graph, calendar days.

What it leaves out

The system lists what it does not cover, so an agent does not fill the gap with a guess: social login buttons and store badges that need third-party logos, some field types and sizes, the kit's 30 application and 16 marketing pages, its icon pages, a few effects, and the dark logo variant.

Where it stands

The reference is the default design system for the AI tools that generate Yexit's screens and prototypes.

The kit's names stay in the token file, marked for reference, until the Figma variables carry the intent names.

Contact

Product owner and product manager roles in B2B SaaS and AI.

CV On request Request by email
Based in France
Lena Lehuby · 2026 Screens from my own prototypes · sample data throughout