LEISSONCREATIVE

All systems / prouxaudit

ProUXAudit Design System 1.3

An evidence-first design system: tokens from the product code, two fully specified themes, computed contrast, a type curve and spring motion. Purchase and order states are proposals.

Showcase: Design System 1.3Material status: Design reference

Observed means a dated check of a public or versioned artifact. Design reference describes a rule or prototype. Proposal does not establish production behaviour. Each inline marker points to its specific source.

An audit finding must become a clear priority, not a long list.

A SaaS product that shows users data and decisions. · web app, report, checkout

tokens in product code
83
contrast pairs in two themes
22
component primitives
16

Ask about a similar system →

A finding is not yet a decision

A UX audit loses value when an observation and a recommendation merge into one vague judgement. The ProUXAudit design system separates the observed situation, its evidence, priority, proposed change and the check that judges the result after implementation, so a client gets a decidable work order rather than only a score. Its documentation states the rule plainly: the product is a precise instrument for deciding what to improve, not a dashboard for watching AI work. [2] Design reference · Design-system documentation · reviewed

The system lives in the product repository as one token file. Colour roles, the type ladder, space, radii, layers and durations that screens read all come from it. Eleven legacy colour names remain as aliases that point at the new roles; removing them is a versioned migration, not a silent deletion. [1] Observed · Versioned code · reviewed

The public audit intake and shareable report are visible product surfaces. Screens in the case captured on 12 September 2026 show those specific views; an empty findings area in one report does not establish that the rest of a website has no issues. [3] Observed · Dated case gallery · reviewed

Full source references
  • [1] tokens-in-code · PROUXAUDIT repository, staging commit bee85a602a68e48729db2887f8189f47912071d4: apps/web/design-system/tokens.json, sha256 e3fc6d1f1c4022c4c1e7e28364cb986f94354db55d3e9295cb435c854181a7c5 (83 tokens, 11 of them legacy aliases; last changed in 6961e01, 2026-09-24)
  • [2] design-system-doc · ProUXAudit Design System documentation, version 1791020328-eb45: content fundamentals, colour, material, depth, type, layout, logo, iconography, 16 component primitives and 12 static app-shell and audit-panel renditions (1.2 Apple addendum with 1.3 review resolutions)
  • [3] public-audit-report-surfaces · ProUXAudit case, public audit and report gallery captured 2026-09-12

Six plates from one token file

The specimen is six plates built from a file derived from the product's tokens.json: colour roles in both themes, the type ladder with its tracking curve, shape and space, static component renditions, the finding-to-decision chain and spring motion. Values are read when the page is built, so the plates cannot drift from their own token file; the file's link to the product code is stated in the source reference. [1] Observed · Versioned code · reviewed

Every swatch shows its hex value and the contrast against the ground its usage rule names. Contrast for twenty-two role pairs is computed in both the dark and the light theme with the WCAG 2.x formula; the table lists each pair's minimum and both results. The result is calculated, not measured on a screen. [3] Observed · Contrast computation · reviewed

The finding card uses an illustrative landing page where two equally prominent actions compete for attention. It separates the observation, an expandable example layout as evidence, severity “high · example only”, the change “one primary action” and a follow-up check in a real browser. Severity is not a measured customer finding; the card does not analyse your URL or use customer data. [4] Design reference · 1.2 design prototype · reviewed

The motion plate draws the product's spring presets with the same equations the product uses. Opening it loads a lab: drag or throw a puck, tune damping and response, and watch the landing point come from projected momentum rather than from where you let go. [2] Observed · Versioned code · reviewed

Components on the plates are drawn renditions with sample text: no button sends a request, no field reads input and no payment is requested. Where a plate shows an offer, payment and order states remain design proposals. [5] Proposal · 1.2 design prototype · reviewed

Full source references
  • [1] tokens-in-code · PROUXAUDIT repository, staging commit bee85a602a68e48729db2887f8189f47912071d4: apps/web/design-system/tokens.json, sha256 e3fc6d1f1c4022c4c1e7e28364cb986f94354db55d3e9295cb435c854181a7c5 (83 tokens, 11 of them legacy aliases; last changed in 6961e01, 2026-09-24)
  • [2] spring-primitive · PROUXAUDIT repository, staging commit bee85a602a68e48729db2887f8189f47912071d4: apps/web/src/lib/spring.ts, sha256 abab1a51b56c29593ea84824bec98512151613982233142c8fd68a14736d4f4c (presets move 1.0/0.40 s, sheet 0.8/0.30 s, rotate 0.8/0.40 s; FLICK_VELOCITY 400 px/s)
  • [3] contrast-1-3 · WCAG 2.x relative-luminance calculation of 22 role pairs in the dark and light themes, from the tokens.json at PROUXAUDIT staging bee85a6; computed when the page is built
  • [4] design-1-2-reference · ProUXAudit Design System 1.2, overview/foundations/components; SHA-256 E5D6DE5169999586AEEA44AAC2BD5B71413FA4AA8C66CFE52544E97335FE02E2
  • [5] purchase-order-states · ProUXAudit Design System 1.2, views purchase/order/checkout/billing; source map 2026-09-24
ProUXAudit Design System 1.3 · tokens from product code (staging bee85a6) · components are static renditions, content is sample

Six plates from one token file. Colours, radii, type roles and springs are read from the tokens.json that ships in the product code; contrast is computed when the page is built. There are no real buttons, forms or payments here: components are drawn to show their anatomy.

01 · Colour roles

Dark · default theme

Planes

  • pux-canvas#0b1020pux-text · 17.65:1
  • pux-surface#121a2cpux-text · 16.18:1
  • pux-raised#1b263bpux-text · 14.12:1
  • pux-selected#183b39pux-text · 11.36:1

Text and action

  • pux-text#f5f7fb16.18:1
  • pux-muted#aab4c88.32:1
  • pux-accent#5ee6c511.24:1
  • pux-accent-hover#4dd4b3pux-on-accent · 10.26:1
  • pux-on-accent#0b1020pux-accent · 12.26:1
  • pux-focus#5ee6c511.24:1

Boundaries

  • pux-border#304058decorative · no minimum
  • pux-border-control#7d8da85.16:1

Status

  • pux-success#8ddfb411.03:1
  • pux-warning#f3c77410.94:1
  • pux-danger#ff91988.06:1
  • pux-info#99c7ff9.89:1

Light · specified on its own, not inverted

Planes

  • pux-canvas#f5f7fapux-text · 16.53:1
  • pux-surface#ffffffpux-text · 17.74:1
  • pux-raised#e9eef5pux-text · 15.22:1
  • pux-selected#d9f4e9pux-text · 15.26:1

Text and action

  • pux-text#11182717.74:1
  • pux-muted#4b5b706.93:1
  • pux-accent#006b576.48:1
  • pux-accent-hover#005646pux-on-accent · 8.68:1
  • pux-on-accent#ffffffpux-accent · 6.48:1
  • pux-focus#006b576.48:1

Boundaries

  • pux-border#d9e1ebdecorative · no minimum
  • pux-border-control#697a914.38:1

Status

  • pux-success#20623b7.31:1
  • pux-warning#7750007.16:1
  • pux-danger#a51e357.40:1
  • pux-info#164fa37.83:1
Contrast check · 44/44

44 of 44 checks meet their minimum (text 4.5:1, control boundary and focus 3:1), computed in both themes.

RoleGroundMinimumDarkLight
pux-textpux-canvas4.50:117.65:116.53:1
pux-textpux-surface4.50:116.18:117.74:1
pux-textpux-raised4.50:114.12:115.22:1
pux-textpux-selected4.50:111.36:115.26:1
pux-mutedpux-canvas4.50:19.08:16.46:1
pux-mutedpux-surface4.50:18.32:16.93:1
pux-mutedpux-raised4.50:17.26:15.95:1
pux-accentpux-canvas4.50:112.26:16.04:1
pux-accentpux-surface4.50:111.24:16.48:1
pux-accentpux-selected4.50:17.89:15.58:1
pux-on-accentpux-accent4.50:112.26:16.48:1
pux-on-accentpux-accent-hover4.50:110.26:18.68:1
pux-dangerpux-surface4.50:18.06:17.40:1
pux-warningpux-surface4.50:110.94:17.16:1
pux-successpux-surface4.50:111.03:17.31:1
pux-infopux-surface4.50:19.89:17.83:1
pux-border-controlpux-canvas3.00:15.63:14.08:1
pux-border-controlpux-surface3.00:15.16:14.38:1
pux-border-controlpux-raised3.00:14.50:13.76:1
pux-focuspux-canvas3.00:112.26:16.04:1
pux-focuspux-surface3.00:111.24:16.48:1
pux-focuspux-raised3.00:19.81:15.56:1

02 · Type

Geist Sans and Geist Mono. Each role carries size, leading, weight and tracking together. Tracking is not one value for every size: it comes from a curve.

  1. display 64px / 1.06 · 600 · -0.035emSee where your website creates friction.
  2. page 36px / 1.18 · 600 · -0.025emHere is where to start.
  3. section 24px / 1.25 · 600 · -0.013emImplementation plan
  4. title 20px / 1.4 · 600 · -0.007emThe hero gives two actions equal weight
  5. metric 40px / 1.1 · 550 · -0.03em€249
  6. reading 17px / 1.6 · 400 · 0emThe captured hero gives two actions similar emphasis. This may increase decision effort at the first step.
  7. body 16px / 1.5 · 400 · 0emStart with an automated UX audit. Review the findings, understand the evidence, and decide what to fix next.
  8. label 14px / 1.43 · 550 · 0emContinue to secure payment
  9. caption 13px / 1.54 · 400 · 0.005emNo login required to start. Read-only page capture.
  10. micro 12px / 1.5 · 500 · 0.009emCaptured 23 Sep 2026 · 1440 × 1000
  11. eyebrow 12px / 1.5 · 550 · 0.06emEVIDENCE
  12. mono-meta 12px / 1.5 · 500 · 0emord_7Q2K · 0f9c392
121624364864displaypagesectiontitlemetric12–17 px: micro, caption, label, body, reading
tracking(s) = clamp(−0.035 em, −0.0215 · log₂(s / 16 px), +0.012 em). Dot = a type role at its token value; the x-axis is font size in pixels. Deliberate exceptions off the curve: eyebrow (capitals, +0.06 em) and mono references (0 em).

03 · Shape, space and targets

Radius

  • pux-radius-small0.5rem
  • pux-radius-control0.75rem
  • pux-radius-card1rem
  • pux-radius-panel1.5rem
  • pux-radius-pill999px

Space

  • pux-space-40.25rem
  • pux-space-80.5rem
  • pux-space-161rem
  • pux-space-241.5rem
  • pux-space-322rem
  • pux-space-483rem
  • pux-space-644rem
  • pux-space-966rem

Touch target

Every control is at least 2.75rem (44 × 44), the primary task 3rem (48).

Layout widths

  • Form · 512 px
  • Reading · 680 px
  • Marketing · 1200 px
  • Workspace · 1440 px

04 · Components

Static renditions from the same tokens. One filled primary action per decision group; status always carries a word; mint is the action colour, not the colour of “good”.

Dark · default theme

ProUXAudit

  • Payment verified
  • Audit running
  • Partial audit
  • Payment not completed
  • Observed
  • Inferred
  • Needs validation
  • Example report
Website URLexampleEnter a public website URL, such as https://example.com.
Pro UX Audit€249One-time purchase · Delivery within 3 business days
86Sample score

Light · specified on its own, not inverted

ProUXAudit

  • Payment verified
  • Audit running
  • Partial audit
  • Payment not completed
  • Observed
  • Inferred
  • Needs validation
  • Example report
Website URLexampleEnter a public website URL, such as https://example.com.
Pro UX Audit€249One-time purchase · Delivery within 3 business days
86Sample score

Wordmark: Geist Bold at −0.025 em, only UX in the action colour. No symbol, no dot, no space. The arc is in the markup, not waiting for an animation frame: a background tab, a print and a screenshot worker see the same number.

05 · From finding to decision

This example shows how an observation becomes a testable decision. High severity is an example label, not a measured customer finding.

Illustrative finding card · not a customer audit

  1. 01

    Observation

    Two equally strong primary actions compete for attention in an example landing page.

  2. 02

    Evidence

    The expandable example layout below shows two actions with equal emphasis. It is not a captured customer page.

    View example layout
    Example layout · not a customer screenshot

    Both actions intentionally carry equal emphasis here. The recommendation makes one secondary.

  3. 03

    Severity

    High · example only. Impact and priority need validation on a real journey.

  4. 04

    Recommended change

    One primary action: make the other supporting and keep both labels clear.

  5. 05

    Verification

    Complete the agreed journey in a browser before and after the change. Assessing impact also requires separate qualified completion data.

06 · Motion

Springs in two parameters: damping (overshoot) and response (speed). Overshoot is earned by momentum: a thrown sheet may bounce, a menu that just opened does not.

  • Move1 / 0.40 s
  • Sheet after a throw0.8 / 0.30 s
  • Rotation and score ring0.8 / 0.40 s
  • Sheet without a throw1 / 0.30 s
  1. An animation starts from the value on screen, not from the target value.
  2. Release velocity is handed to the spring; above 400 px/s a release is a throw.
  3. A sheet closes when the projected momentum passes 35% of its height — not on a distance or velocity threshold.
  4. With reduced motion the value jumps: the feedback stays, the travel goes.
Open the motion lab: drag, throw, tune

Decisions and rules

Colour is assigned by meaning. Canvas, surface, raised and selected are planes; text and muted carry copy; mint is the action colour for one filled primary action per decision group and never stands for “good”. Status colour always travels with a word or an icon, and the light theme is specified on its own rather than inverted from the dark one. [4] Design reference · Design-system documentation · reviewed

Only navigation chrome may be translucent; evidence, findings, prices and forms stay opaque, and a card is never muted by lowering its opacity. Depth runs from canvas through content, chrome, popover, scrim and modal to toast, and a shadow appears only on something that genuinely overlaps another plane. [4] Design reference · Design-system documentation · reviewed

Geist has one weight axis and no optical-size axis, so the optical work lives in the tokens. Each role sets size, leading, weight and tracking together; tracking follows a logarithmic curve from −0.035 em at display sizes to +0.012 em at the smallest text, and only the eyebrow is set in capitals. [1] Observed · Versioned code · reviewed

Every interactive element is at least 44 × 44 pixels at every breakpoint and primary task controls are 48 pixels. Reading width stays at 680 pixels and forms at 512 pixels; a long URL never pushes a page sideways. [1] Observed · Versioned code · reviewed

A spring has two parameters: damping and response. An animation starts from the value on screen, release velocity is handed to the spring, and a release above 400 px/s is a throw that earns 0.8 damping; a slow release settles without overshoot. Under reduced motion the value jumps instead of travelling. [2] Observed · Versioned code · reviewed

A component contract includes default, pending, invalid, empty and recoverable states. A field keeps a persistent label, an error names the fix, and red alone never carries the message. [5] Design reference · 1.2 design prototype · reviewed “Queued” does not mean “complete”, and “payment confirmed” does not mean “audit delivered”. [6] Proposal · 1.2 design prototype · reviewed

On a phone, audit intake keeps one URL field and the next action visible; finding evidence and recommendation follow in reading order without hover. A tablet is not a stretched phone: wider space can place report evidence beside the decision while preserving reading order. Both layouts are 1.2 design references, not confirmation of deployed device views. [5] Design reference · 1.2 design prototype · reviewed

The system is enforced, not only documented. A token gate in the product repository checks contrast in every theme, the match between the token file and the generated stylesheet region, and the type curve, and keeps per-file budgets of raw palette utilities that may only fall. A second check maps every changed file to the routes that render it. [3] Observed · Versioned code · reviewed

Full source references
  • [1] tokens-in-code · PROUXAUDIT repository, staging commit bee85a602a68e48729db2887f8189f47912071d4: apps/web/design-system/tokens.json, sha256 e3fc6d1f1c4022c4c1e7e28364cb986f94354db55d3e9295cb435c854181a7c5 (83 tokens, 11 of them legacy aliases; last changed in 6961e01, 2026-09-24)
  • [2] spring-primitive · PROUXAUDIT repository, staging commit bee85a602a68e48729db2887f8189f47912071d4: apps/web/src/lib/spring.ts, sha256 abab1a51b56c29593ea84824bec98512151613982233142c8fd68a14736d4f4c (presets move 1.0/0.40 s, sheet 0.8/0.30 s, rotate 0.8/0.40 s; FLICK_VELOCITY 400 px/s)
  • [3] token-gates · PROUXAUDIT repository, staging commit bee85a602a68e48729db2887f8189f47912071d4: apps/web/package.json scripts verify:design-tokens, tokens:generate and verify:proof-reachability; apps/web/scripts/lib/design-token-budget.mjs (per-file raw-utility budgets that only ratchet down; contrast in every theme, generated pux-* region, legacy aliases and type curve); .github/workflows/web-hardening-guardrails.yml runs verify:design-tokens on push and pull request
  • [4] design-system-doc · ProUXAudit Design System documentation, version 1791020328-eb45: content fundamentals, colour, material, depth, type, layout, logo, iconography, 16 component primitives and 12 static app-shell and audit-panel renditions (1.2 Apple addendum with 1.3 review resolutions)
  • [5] design-1-2-reference · ProUXAudit Design System 1.2, overview/foundations/components; SHA-256 E5D6DE5169999586AEEA44AAC2BD5B71413FA4AA8C66CFE52544E97335FE02E2
  • [6] purchase-order-states · ProUXAudit Design System 1.2, views purchase/order/checkout/billing; source map 2026-09-24

Evidence and limits

Token values, spring presets and gate scripts were read from the product repository at staging commit bee85a6 on 18 October 2026. This shows what the code defines; it does not establish that every production screen already reads only these roles. Eleven legacy colour names still resolve as aliases until their own migration. [1] Observed · Versioned code · reviewed

Contrast figures are computed from token values, not measured on a display, and they cover the role pairs the usage rules name, not every possible combination. [3] Observed · Contrast computation · reviewed

The gallery of public surfaces captured on 12 September 2026 establishes how audit intake and a shareable report looked on that date. It does not measure site-wide accessibility, customer numbers, collected payments or sales growth. Browser verification and an agreed client goal are needed before judging the effect of repairs. [6] Observed · Dated case gallery · reviewed

The documentation is a wider reference that also holds app-shell, audit-panel and commerce cards. The whole reference can also be browsed as an interactive platform: 28 components in the dark and light themes, 16 of them live React components (hand-written renditions of the app's originals) and 12 labelled as static renditions. [4] Design reference · Design-system documentation · reviewed This page curates its foundations and labels workspace and purchase states as proposals; evidence from a public screen does not transfer to the production status of those views. [7] Proposal · 1.2 design prototype · reviewed

The gate scripts exist in the repository and run in its continuous-integration workflow; this page does not publish the result of their latest run. [2] Observed · Versioned code · reviewed

Device layouts and other 1.2 prototype behaviour are a design reference; this page does not claim that every view in the 1.2 prototype has been tested. [5] Design reference · 1.2 design prototype · reviewed

Full source references
  • [1] tokens-in-code · PROUXAUDIT repository, staging commit bee85a602a68e48729db2887f8189f47912071d4: apps/web/design-system/tokens.json, sha256 e3fc6d1f1c4022c4c1e7e28364cb986f94354db55d3e9295cb435c854181a7c5 (83 tokens, 11 of them legacy aliases; last changed in 6961e01, 2026-09-24)
  • [2] token-gates · PROUXAUDIT repository, staging commit bee85a602a68e48729db2887f8189f47912071d4: apps/web/package.json scripts verify:design-tokens, tokens:generate and verify:proof-reachability; apps/web/scripts/lib/design-token-budget.mjs (per-file raw-utility budgets that only ratchet down; contrast in every theme, generated pux-* region, legacy aliases and type curve); .github/workflows/web-hardening-guardrails.yml runs verify:design-tokens on push and pull request
  • [3] contrast-1-3 · WCAG 2.x relative-luminance calculation of 22 role pairs in the dark and light themes, from the tokens.json at PROUXAUDIT staging bee85a6; computed when the page is built
  • [4] design-system-doc · ProUXAudit Design System documentation, version 1791020328-eb45: content fundamentals, colour, material, depth, type, layout, logo, iconography, 16 component primitives and 12 static app-shell and audit-panel renditions (1.2 Apple addendum with 1.3 review resolutions)
  • [5] design-1-2-reference · ProUXAudit Design System 1.2, overview/foundations/components; SHA-256 E5D6DE5169999586AEEA44AAC2BD5B71413FA4AA8C66CFE52544E97335FE02E2
  • [6] public-audit-report-surfaces · ProUXAudit case, public audit and report gallery captured 2026-09-12
  • [7] purchase-order-states · ProUXAudit Design System 1.2, views purchase/order/checkout/billing; source map 2026-09-24

A useful next step

If you have an audit or a difficult journey, we can review one important finding together: verify it in a browser, order changes by likely impact and agree up to three repairs or the scope of a new website. We then check the same journey after implementation; measuring its effect requires separate data. [2] Design reference · 1.2 design prototype · reviewed

If your product needs the same discipline — one token file, computed contrast, motion with defined parameters — send the public URL and the interface you want to stabilise. The first deliverable is an inventory of the values already in use and a proposal for which of them become tokens. [1] Design reference · Design-system documentation · reviewed

Full source references
  • [1] design-system-doc · ProUXAudit Design System documentation, version 1791020328-eb45: content fundamentals, colour, material, depth, type, layout, logo, iconography, 16 component primitives and 12 static app-shell and audit-panel renditions (1.2 Apple addendum with 1.3 review resolutions)
  • [2] design-1-2-reference · ProUXAudit Design System 1.2, overview/foundations/components; SHA-256 E5D6DE5169999586AEEA44AAC2BD5B71413FA4AA8C66CFE52544E97335FE02E2

Your system

If you need a similar system, answer three questions in the enquiry:

  1. Which brand or product is it?
  2. How many surfaces (web, app, print …)?
  3. When does it need to be ready?

Start the enquiry

Back to systems · llms.txt