Own work · Tooling

Building the tools I wished existed

Building the tools I wished existed

Building the tools I wished existed

Role

Designer and builder

Period

2025 to now

Scope

Figma plugin, token documentation tool, AI-assisted development

Why I build tools

Why I build tools

Most design system problems I run into aren’t design problems. They’re handoff problems: information developers and AI agents need that never makes it out of the design file. When a workflow breaks or the same gap keeps coming back, I’d rather build a small tool than wait for one.

I don’t come from engineering. I build these with AI-assisted development, and that shapes how I work.

Code-only props, a Figma plugin

Code-only props, a Figma plugin

A prototype plugin that attaches a component’s non-visual intent, like accessibility labels, semantics, validation and behavior, to the component itself. It can flow into spec data without cluttering the designer’s properties panel. The concept is Nathan Curtis’s. This is my build of it.

  • Source-verified dictionaries. Seven component libraries, including Radix, PrimeNG, MUI, React Aria, Angular Material, Vuetify and Ant Design. Every prop checked against the library source, not memory.

  • Six archetypes. Action, Data entry, Feedback, Selection, Overlay and Media.

  • Visual states left out on purpose. Pressed, disabled and checked belong to variants. Their ARIA follows the active variant, so encoding them twice would only create two sources that drift.

  • A quiet health check. The plugin warns only when a component’s carrier is broken.

Auto-dismiss a message

Radix

duration

PrimeNG

life

MUI

autoHideDuration

Message semantics

Radix

type

PrimeNG

severity

MUI

role

Length limits

React libraries

minLength

PrimeNG

minlength

Same intent, different vocabularies. The plugin keeps each library’s native names instead of hiding them.

Living token documentation

Living token documentation

When a widely used Figma-based documentation script broke after Figma changed its API limits, teams were back to updating token docs by hand. I built a web tool that generates token documentation straight from a GitHub repository, with WCAG contrast checks and a view of how semantic tokens map to primitives.

I shared progress on LinkedIn and Bluesky while building it, and let the people with the same problem steer what came next.

What made it hard

What made it hard

  • AI over-helping. Asking for one small change sometimes got the whole codebase rewritten, breaking features that already worked.

  • Architecture trade-offs. The plugin’s carrier went through four designs: a plain frame, a component instance, a plugin-data hybrid, and back to the instance. Grouping in the panel won, at the cost of depending on a shared sources page.

  • Too many directions. Community feedback is useful until it pulls in ten directions at once.

How I handled it

How I handled it

  • A brief as guardrail. A written product brief the AI references on every step, with status tracking. Preserve working code, change one thing at a time.

  • Write down the trade-off. The plugin’s review notes record why each architecture was tried and dropped, and the health check covers the dependency it left behind.

  • Patterns over requests. I built what solved problems for several people, like the contrast checker, instead of one-off asks.

Why it matters

Why it matters

This is what AI-ready means in practice: getting the intent behind a component out of the designer’s head and into a shape that people and agents can both read.

Have a design system that needs this kind of work?

Connect with me on LinkedIn or Bluesky

© 2026 Dennis Buizert · Studio Buizert

Connect with me on LinkedIn or Bluesky

© 2026 Dennis Buizert · Studio Buizert