惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 聂微东
GbyAI
GbyAI
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 叶小钗
A
About on SuperTechFans
M
MIT News - Artificial intelligence
宝玉的分享
宝玉的分享
雷峰网
雷峰网
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Martin Fowler
Martin Fowler
Google DeepMind News
Google DeepMind News
博客园 - Franky
B
Blog RSS Feed
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Check Designs validates your Figma. What validates your c...
Amrutha Kollu · 2026-06-17 · via DEV Community

Figma just shipped Check Designs. It scans your layers and flags anything that doesn't follow your design system, the hardcoded colors, wrong typography, incorrect spacing, components from the wrong library.

That's half the problem solved. The other half is harder.

What Check Designs doesn't cover

Check Designs catches drift in Figma before it reaches engineers. That's the right problem to tackle and Figma's approach — a machine learning model trained on your design system data, not generative AI guessing at tokens is exactly right.

But here's what happens after handoff.

A designer ships a perfectly validated Figma component. An engineer builds it correctly. Three weeks later, someone renames a token during a refactor. Another engineer adjusts a spacing value in a hurry. A border radius gets updated in Figma but nobody touches the component. A color reference gets hardcoded during a deadline crunch.

None of these changes are caught by Check Designs because they happen in code, not in Figma. The design system has two sources of truth now, Figma and the codebase, and they're slowly diverging. Nobody notices until a designer screenshots production and asks why it looks different.

This is code drift. And it has no equivalent to Check Designs.

The verification gap

The current options for catching code drift are:

Visual regression testing takes screenshots and compares them. Catches things that look different, misses things that look right but use the wrong token. A component can pass visual regression with borderRadius: 8 instead of borderRadius: '8px', raw hex instead of a semantic token, or spacing that's off by 2px. Close enough to pass a screenshot diff. Wrong enough to break the design system.

Manual design QA means a designer reviews production periodically. Expensive, infrequent, and happens long after the drift has already merged.

Code reviews require engineers to catch design system violations in PRs. Requires reviewers to know the design system deeply and remember to check. Doesn't scale.

None of these are systematic. All of them are approximate or intermittent. The problem compounds because each missed drift makes future drift harder to catch.

What systematic code verification looks like

The right approach is treating the Figma file as the source of truth for code, continuously not just at generation time.

Here's the architecture that works:

Step 1: Generate from exact data, not visual interpretation.
Instead of giving an AI a screenshot to interpret, read Figma's REST API directly. The node data gives you exact values, typography as specific size/weight/line-height combinations, spacing as pixel measurements, fills as precise hex codes. Resolve every deterministic value algorithmically before any AI sees the design. Inject those values as facts. The AI handles structure and judgment. It never has to guess at a token name because you already resolved all of them.

Step 2: Enforce output quality before writing any file.
Scan generated code for prohibited patterns before anything is written to disk. Raw hex values, bare border-radius numbers where string literals are required, missing token imports. If any are found, abort. Nothing approximate makes it into the codebase.

Step 3: Verify continuously in CI.
On every pull request, re-fetch the live Figma data for each component. Compare it against the current source. If anything has drifted, wrong token, changed spacing, updated radius. The check fails and the PR doesn't merge. The design system can't silently drift because the gate runs on every merge attempt.

Step 4: Close the loop back to Figma.
When a component fails verification, post the drift report as a comment directly on that component node in Figma, making it visible to the designer, anchored to the exact layer. When they resolve the comment, the next CI run re-enables detection. The designer finds out inside their tool, not in a meeting or a Slack message three weeks later.

What this produces

Components that stay honest over time, not just on day one.

I validated this approach in production before building Fixel. It shipped 60+ React components with 3,077 tests in 35 days. Zero raw hex values. Zero token hallucinations. Every component verified against the live Figma file on every PR, meaning the design system hasn't silently drifted once.

The result isn't just faster generation. It's a design system that the codebase is contractually obligated to follow.

Check Designs and code verification together

Check Designs validates that your Figma follows your design system.
Code verification validates that your code follows your Figma.

Together they form a complete loop:

Design system → Figma (Check Designs enforces this)
Figma → Code (CI verification enforces this)

Before today, only one half of that loop existed. Now both sides have tooling.

If you're shipping a design system in 2026 and only running Check Designs, you're catching drift on one side of the handoff. The other side is still drifting silently on every PR.

How does your team currently catch code drift after handoff? Are you relying on visual regression, manual QA, or something else entirely? I'd love to hear what's working and what isn't.

By Amrutha Kollu, Software Engineer at Socratics.ai.

Part 1: How I shipped 60 design system components in 5 weeks
Part 2: Why AI keeps generating the wrong design tokens