File size: 6,661 Bytes
d041f14
abab3e7
 
 
 
 
 
 
f0ceb42
abab3e7
f0ceb42
abab3e7
f0ceb42
abab3e7
f0ceb42
 
 
 
abab3e7
f0ceb42
 
 
abab3e7
f0ceb42
 
 
 
 
abab3e7
f0ceb42
abab3e7
f0ceb42
 
 
abab3e7
f0ceb42
abab3e7
f0ceb42
 
 
 
 
 
 
 
abab3e7
 
f0ceb42
 
 
 
 
 
 
 
 
abab3e7
 
 
f0ceb42
 
 
abab3e7
f0ceb42
abab3e7
 
 
f0ceb42
abab3e7
 
 
 
 
f0ceb42
abab3e7
f0ceb42
 
abab3e7
f0ceb42
abab3e7
 
f0ceb42
 
abab3e7
 
 
f0ceb42
abab3e7
f0ceb42
 
 
 
abab3e7
f0ceb42
abab3e7
f0ceb42
abab3e7
f0ceb42
 
 
 
 
 
 
 
 
 
 
 
 
abab3e7
 
 
 
f0ceb42
 
 
abab3e7
f0ceb42
abab3e7
 
 
f0ceb42
abab3e7
 
 
 
 
f0ceb42
abab3e7
f0ceb42
abab3e7
f0ceb42
abab3e7
f0ceb42
abab3e7
f0ceb42
abab3e7
f0ceb42
 
 
 
 
 
 
abab3e7
f0ceb42
abab3e7
f0ceb42
 
abab3e7
 
 
f0ceb42
abab3e7
 
 
 
 
f0ceb42
 
 
 
 
abab3e7
 
 
 
 
 
 
 
 
f0ceb42
abab3e7
 
 
 
 
f0ceb42
abab3e7
f0ceb42
 
 
 
 
 
abab3e7
 
 
f0ceb42
abab3e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# LinkedIn Post - Episode 6: Design System Automation v3.2

## Main Post (Copy-Paste Ready)

---

Every designer has done this: Open DevTools. Inspect element. Copy hex code. Paste to spreadsheet. Recreate in Figma. Repeat 200 times.

I spent 3-5 days manually extracting design tokens from websites. Then more time recreating them in Figma as variables.

So I built a 3-layer system: deterministic extraction + rule-based color classifier + 4 AI agents.

**The Architecture (v3.2):**

Layer 1 (FREE, <1 second):
- 7-source extraction (Playwright + Firecrawl)
- Normalizer: radius, shadows, colors all cleaned and named
- Color Classifier (815 lines, deterministic): CSS evidence -> category -> token name

Layer 2 (FREE, <1 second):
- Rule Engine: WCAG contrast (actual FG/BG pairs), type scale detection, spacing grid
- 113 tests passing, 100% reproducible

Layer 3 (~$0.003, 4 specialized agents):
- AURORA: brand color advisor (Qwen 72B) — advisory only, can't override classifier
- ATLAS: benchmarks against 8 industry design systems (Llama 70B)
- SENTINEL: prioritizes fixes by business impact (Qwen 72B)
- NEXUS: synthesizes everything, resolves contradictions (Llama 70B)

**The Pipeline:**

Website URL -> 7-Source Extraction -> Color Classifier -> Rule Engine -> DTCG JSON
-> Figma Plugin -> Variables + Styles + Auto-Generated Visual Spec Page
-> AI Analysis -> Accept/Reject -> TO-BE JSON -> Compare in Figma

**My biggest lesson building V1 -> V2 -> V3:**

V1: LLMs for everything. $0.50/run. Hallucinated contrast ratios.
V2: Rules + LLM split. $0.003/run. But 3 naming systems fighting in exports.
V3: Rules + Classifier + Advisory LLM. $0.003/run. ONE naming authority. Clean output.

The fix wasn't better AI. It was a clear authority chain:
1. Color Classifier (PRIMARY) - deterministic, covers ALL colors
2. AURORA LLM (SECONDARY) - can only suggest semantic roles
3. Normalizer (FALLBACK) - hue + numeric shade

**Real results:**
- 143 colors extracted, classified, and named (deterministically)
- 220 FG/BG pairs checked for AA compliance
- Radius: raw CSS garbage -> none/sm/md/lg/xl/full (normalized)
- Shadows: unsorted -> xs/sm/md/lg/xl (5 progressive levels)
- Benchmarked against Material 3, Polaris, Atlassian + 5 more
- Output: W3C DTCG v1 compliant JSON with $extensions metadata
- Figma: auto-generated visual spec with AA badges
- Time: 3-5 days -> ~15 minutes
- Cost: ~$0.003

The key? **I stay in control.** AI recommends, I decide.

Full workflow + architecture: [Medium link]
Try it: [HuggingFace Space link]
Code: [GitHub link]

Episode 6 of "AI in My Daily Work"

What design workflows are you automating?

#UXDesign #AIEngineering #DesignSystems #Figma #HuggingFace #Accessibility #WCAG #DesignTokens #W3CDTCG #BuildInPublic

---

## First Comment (Post Immediately After)

**Resources:**

Medium Article: [link]
Complete architecture breakdown + V1 -> V2 -> V3 evolution + Figma integration

Live Demo: [HuggingFace Space link]
Try it with any website URL

GitHub: [link]
Open source - star it if useful!

---

**The Naming Authority Problem (V3's key insight):**

V2 had THREE competing systems naming colors:
- Normalizer: "color.blue.light" (word-based)
- Export layer: "color.blue.500" (numeric)
- AURORA LLM: "brand.primary" (whatever it wanted)

Result in Figma: blue.300, blue.dark, blue.light, blue.base — ALL in the same export.

V3 fix: ONE authority. Color Classifier (deterministic) is PRIMARY. AURORA is advisory only — it can suggest "this blue should be brand.primary" but can't rename palette colors.

`filter_aurora_naming_map()` enforces the boundary. Clean Figma output, every time.

---

**What's Next — Episode 7: Automated Component Generation**

Researched 30+ tools. Found a genuine market gap:
No production tool takes DTCG JSON and outputs Figma components with variants.

Building it. Button (60 variants), TextInput, Card, Toast, Checkbox/Radio.
Figma Plugin API supports everything: createComponent(), combineAsVariants(), setBoundVariable().

Same tokens in = same components out. Fully deterministic.

---

**Previous Episodes:**
- Episode 5: UX Friction Analysis (7 agents + Databricks)
- Episode 4: UI Regression Testing
- Episode 3: Review Intelligence System

What should I build for Episode 7? Drop ideas below

---

## Alternative Version (Shorter, Story-Driven)

---

"Can you audit their design system and document it in Figma?"

3-5 days of DevTools, spreadsheets, and manual Figma work.

I built something different. Three versions, actually.

V1: Used LLMs for everything. $0.50/run. They hallucinate math.

V2: Split into rules + AI. $0.003/run. But three systems fought over color names. Figma output was chaos.

V3: Clear authority chain. One color classifier (deterministic, 815 lines). LLMs are advisory only. W3C DTCG-compliant JSON. Auto-generated visual spec in Figma.

What it does now:
- 7-source extraction from any website
- Rule-based color classification (brand/text/bg/border/feedback)
- WCAG AA check on 220 actual FG/BG pairs
- 4 AI agents for brand analysis, benchmarking, audit, synthesis
- W3C standard JSON output
- Figma plugin: variables + styles + visual spec page

15 minutes. $0.003. I stay in control.

Full architecture: [Medium link]
Demo: [HuggingFace link]

Episode 6 of "AI in My Daily Work"

#DesignSystems #AIAgents #UXDesign #Figma #Automation #HuggingFace #WCAG #W3CDTCG

---

## Image Suggestions

1. **Hero:** V1 vs V2 vs V3 comparison table showing the evolution
2. **Architecture:** 3-layer diagram (Extraction -> Classification+Rules -> 4 Agents)
3. **Naming Authority:** Before/after showing Figma chaos vs clean output
4. **Figma Visual Spec:** Screenshot of auto-generated spec page
5. **Agent Output:** NEXUS synthesis with scores + top 3 actions

---

## Hashtags (Optimized)

Primary (always include):
#UXDesign #AIEngineering #DesignSystems #Figma #HuggingFace

Secondary (mix based on audience):
#DesignTokens #W3CDTCG #Accessibility #WCAG #BuildInPublic #Automation #MultiAgent

---

## Posting Strategy

**Best time:** Tuesday-Thursday, 8-10 AM your timezone

**Key messages for V3:**
1. V1 -> V2 -> V3 evolution story (naming authority problem)
2. Color Classifier (815 lines, deterministic) as key innovation
3. W3C DTCG v1 compliance — standards over proprietary formats
4. Figma visual spec auto-generation
5. Component generation gap (Episode 7 teaser)

**Differentiation from Episode 5:**
- Episode 5 = UX friction analysis (GA4 + Clarity + Databricks)
- Episode 6 = Design system extraction (Playwright + Classifier + Figma + HuggingFace)
- Same philosophy: deterministic code for certainty, LLMs for ambiguity