A pink axolotl in a hoodie sits at a desk and works in a Figma design system file on a large monitor

Hand-off Optimization Plugin

AxoLinter

Plugin for DesignOps · Automated QA

Problem

Manual layout QA bottlenecks DesignOps workflows. Designers leak hardcoded colors, radiuses, and spacings, causing UI tech debt and visual bugs in production.

Mechanics

I automated layout verification. AxoLinter scans frames, checks layers against the design system, and lists errors. The “Fix All” button automatically maps hardcoded values to correct tokens, while I highlight edge-case bugs inside the plugin to patch them manually.

The Checker tab before and after Fix All: unlinked values are listed, then every style is linked to the design system
The Checker tab before and after Fix All: unlinked values are listed, then every style is linked to the design system
The Handoff tab: a checklist of layout rules with a Fix All button
The Handoff tab: a checklist of layout rules with a Fix All button
The Tokens tab: import and export of the design system tokens
The Tokens tab: import and export of the design system tokens
Settings: which linters are on and how tolerant the matching is
Settings: which linters are on and how tolerant the matching is

Tech Stack

I built the plugin inside the Antigravity IDE using Gemini and Mimo. I wrote the scanner logic in TypeScript and covered it with modular unit tests using Vitest. I crafted the interface with vanilla HTML/CSS and bundled it via esbuild into a single, lightweight ui.html file.

Impact

  • Accelerated QA before development by 5x.
  • Purged 85% of hardcoded data, keeping raw values out of production.
  • Eliminated visual bugs caused by unlinked design styles.

More projects

All work