All Projects

Case Study 006 · Design Systems

Auditing my own design system

The Drafting Table Design System

I designed a system, built my portfolio from it, then checked whether the two still matched. They didn't. This is what I found and what I fixed.

The top of Typography Standards record DD-004, Rev 1.2: The Drafting Table wordmark, an Adopted stamp dated October 25, 2026, the revision history, and the three typeface cards for Syne, Inter, and Source Serif 4.
Role
Designer, developer, and system owner
Timeline
July to October 2026
Tools
Figma, VS Code, GitHub, Netlify, Claude
Outcome
Rev 1.2 adopted. 190 failing green text elements brought to WCAG AA.
01

Starting Point

In July 2026 I documented the typography for my portfolio brand, The Drafting Table, as record DD-004. I styled it like an architectural drawing sheet, with a title block, a revision history, and an adoption stamp. Rev 1.0 and Rev 1.1 went out the same day.

I chose the drafting sheet because it shows how I work. Titles, revisions, annotations, and status stamps carry real information, the way they do on a construction set. I wasn't sold on the blueprint idea at first, but presenting the system as a coordinated drawing set won me over. I kept the palette tight, with no reds or blues, so status and hierarchy come from stamps, type, line weights, and spacing. For display type I picked Syne because it felt architectural.

Then I built the site by hand in VS Code and deployed it through GitHub and Netlify. Over the next three months it kept growing: new case studies, a research section, participant study pages. The sheet stayed at Rev 1.1.

The problem

The sheet stopped describing the site

A design system only helps if it describes what is actually built. If a hiring manager opens my typography sheet, then opens my site and sees different fonts, the sheet works against me.

The goal

Make the sheet tell the truth

Bring the sheet in line with the site, and fix the site anywhere the sheet was right.

02

Research

The site and the sheet disagreed in seven areas, and my signature green failed accessibility on every paper section.

I compared every typography rule in the production stylesheet against Rev 1.1, role by role. Then I measured the contrast of every text and background pairing the site uses.

AreaRev 1.1 saidThe site does
Body textSyneInter
Syne weights400 to 800Only 700 and 800 are loaded
Section titlesBold 700, 56px, uppercaseExtraBold 800, 32 to 64px, title case with a green accent word
SizingFixed sizes on a 4px baseline gridFluid min-to-max sizes, line heights as ratios
TypefacesSyne and Syne MonoSyne, Inter, and Source Serif 4
Smallest text9px11px, almost all 12px or larger
ColorInk on cream onlyCream on dark, ink on paper, three greens

The sheet also disagreed with itself. Its type scale listed different sizes than its own hierarchy table, and it called the scale modular when the steps were uneven.

My own brand green measured 2.4:1 on the paper background. AA asks for 4.5:1.

WCAG AA asks for 4.5:1 for normal text and 3:1 for large text, so Green Primary (#059669) on paper failed both. An automated check of every green text element across 11 pages found 190 of 301 failing, including the "Studies" in "Case Studies" on my homepage.

Contrast table from DD-004 Rev 1.2 listing twelve color pairings. Most pass. Green Primary on paper measures 2.4 to 1 and fails both normal and large text. Green Dark on paper measures 3.4 to 1 and passes large text only. Green Deep on paper measures 4.8 to 1 and passes both.
Every pairing the site uses, measured. The three rows at the bottom are the green on paper.
03

Exploring Solutions

I set one rule before changing anything:

The site wins, unless it fails accessibility.

I could change the site to match the sheet, or change the sheet to match the site. The site had been used across real screens for three months, and switching body text back to Syne would have made it harder to read. So the sheet changed, except where the site was the thing that failed.

Fixing the green

I looked at four options for green text on paper.

OptionContrast on paperResult
Keep Green Primary #0596692.4:1Fails all text
Use Green Dark #047857, already on some pages3.4:1Passes large text only
Use a new Green Deep #065F464.8:1Passes all text
Drop green on paper sectionsNot applicablePasses, but loses the accent

I chose Green Deep, on paper only. On dark sections, Green Primary measures 5.2:1 and stays as it is, so the brand still reads as the same green.

Before: Green Primary on paper, 2.4:1 The homepage heading Case Studies, with the word Studies in bright green on the tan paper background.
After: Green Deep on paper, 4.8:1 The same Case Studies heading, with Studies in a deeper forest green on the tan paper background.
Decision

Change the token, not the rules

The green was set in dozens of separate rules. Instead of editing each one, I changed what the color token means inside paper sections. Any new paper section picks up the right green without anyone remembering to.

Decision

Rebuild the sheet as live text

Rev 1.0 and 1.1 were flat images. I rebuilt Rev 1.2 as editable text in Figma, using the file's existing color variables, so the next revision is an edit instead of a redraw.

04

Final Design

Rev 1.2 was adopted on October 25, 2026, the same day the green fix shipped to the site.

Typography Standards record DD-004 Rev 1.1, a drafting-sheet layout with a hero display specification, type hierarchy, type scale, and accessibility notes, all set in Syne.
Rev 1.1 · As designed
Typography Standards record DD-004 Rev 1.2, the same drafting-sheet format with three typefaces, a 20-role hierarchy mapped to CSS classes, sizing and accessibility rules, a contrast table, and a change log.
Rev 1.2 · As built

What Rev 1.2 documents

  • Three typefaces, each with one job: Syne for display, Inter for body and interface, Source Serif 4 for the Through Line story section.
  • 20 type roles as built, each mapped to the CSS class that uses it.
  • Sizing rules for fluid type, with the 4px grid and modular-scale claims removed.
  • A contrast table for every text and background pairing, with measured ratios.
  • A 12px minimum for any text people need to read.
  • An 11-item log of what changed from Rev 1.1, and why.

Results

0

Green text elements failing WCAG AA, down from 190 across 11 pages

20

Type roles documented, up from 9

3

Typefaces documented, all in use (was 2, one unused)

What I learned

  • A system records decisions, but the code is where they actually land. The two drifted apart quietly, one reasonable change at a time.
  • I had treated my own brand color as settled. Measuring it showed it failed on every paper section.
  • Writing the rule first, "the site wins unless it fails accessibility," made dozens of small decisions fast.

What's next

  • Turn the Rev 1.2 roles into Figma text styles, so designs in the file use the same values the site does.
  • Audit the other DD records in the system the same way.
  • Re-run the contrast check whenever a new section or page type ships.