Skip to content

Design system

The tokens in DESIGN.md as they render. Lowest text contrast on this page: 4.88:1.

Type

Geist, Piazzolla for titles

Page title, 24px Piazzolla

30px figure 1,284.50

Section heading, 16px semibold

Body, 14px on 20px. A quote lists filament, printer time, labour and setup, then one markup line, then the total. Nothing is hidden in a tooltip.

Small, 12px, secondary ink. Used for meta, hints and table headers.

ord_8f3k2m9q mono for IDs and keys only

Colour

light only
  • groundPage ground
  • surfacePanels, inputs
  • raisedWells, hover
  • activeActive nav, selected row
  • borderPanel edges
  • ruleRow rules
  • controlInput and button borders
  • inkText
  • mutedSecondary text
  • faintMeta, placeholders
  • accentThe one hue: main data element, focus
  • accentInkThe hue as text
  • primaryPrimary button
  • positivePositive text
  • negativeNegative text
  • warningWarning text

Icons

one outline set, 16px, 1.5px stroke
  • Quotes
  • Orders
  • Files
  • Printers
  • Settings

Contrast

every pairing that carries words, WCAG 2.2 AA is 4.5:1
UseForegroundBackgroundRatioAA
body on the page#141414#f4f3f116.61:1 pass
body on a panel#141414#ffffff18.42:1 pass
body on a well#141414#ebe9e515.19:1 pass
secondary on the page#5f5e5a#f4f3f15.85:1 pass
secondary on a panel#5f5e5a#ffffff6.49:1 pass
secondary on a well#5f5e5a#ebe9e55.35:1 pass
meta, placeholders on the page#6b6a66#f4f3f14.88:1 pass
meta, placeholders on a panel#6b6a66#ffffff5.41:1 pass
amber as text on the page#9a4507#f4f3f15.87:1 pass
amber as text on a panel#9a4507#ffffff6.50:1 pass
primary button label#ffffff#1a1a1a17.40:1 pass
white on amber (chart labels only)#ffffff#b453095.02:1 pass
positive text#247b50#ffffff5.22:1 pass
negative text#c4242a#ffffff5.78:1 pass
warning text#92400e#ffffff7.09:1 pass
positive pill#04250e#dcfae514.77:1 pass
negative pill#831c1e#ffedea8.63:1 pass
warning pill#92400e#fffbeb6.84:1 pass
neutral pill#3d3d3d#ebe9e58.96:1 pass

Inputs

label above, limits beside

Shown on the quote and the shipping label.

Optional. Orientation, tolerances, deadlines.

Buttons

one filled primary per screen

Near-black for the one primary, white with a border for the rest, text for a cancel. The destructive action is outlined in the negative colour, never filled, and asks for confirmation that names the object.

Status

one pill per row
  • Waiting on the shop
  • Invoice sent
  • Paid
  • In the queue
  • On the printer
  • Print failed
  • Post-processing
  • Shipped
  • On hold
  • Cancelled

A pale tint with dark ink of the same hue. The words are the shop's own: a customer reads “On the printer”, never “status 4”.

Print progress

the element only this product has
312 of 540 layers, 58%
Mounting bracket v3 on P2S-2312 of 540 layers, 58%
0 of 1,210 layers, 0%
Enclosure lid on X1C0 of 1,210 layers, 0%
880 of 880 layers, 100%
Spool holder on H2C880 of 880 layers, 100%

A job's progress drawn as its layers rising from the bed, in the one hue. The text beside it carries the same numbers, so nothing depends on the picture.

Figures

right-aligned, tabular, fixed decimals
LineQuantityRateAmount
Filament, PLA matte black42 g$0.020/g$0.84
Printer time, P2S3.4 h$0.25/h$0.85
Fabrication labour0.25 h$40.00/h$10.00
Setup1$5.00$5.00
Subtotal$16.69
Shop markup, 30%$5.01
Total$21.70

Panels and figures

one container split by dividers
Open quotes
7
3 waiting on the shop
On the printers
4of 9
Filament this week
1,284g
Invoiced this month
$2,310.40
2 unpaid