UISqueezy - Design tokens and Figma variables, always in sync.

UISqueezy keeps your design tokens and Figma variables in sync, automatically, in both directions. Push color, typography, spacing, radius, size, breakpoint, and shadow tokens straight into native Figma variables. Pull changes made in Figma back into your codebase. No copy-paste, no drift. - Two-way sync: push to Figma, pull from Figma - Native Figma plugin, connect any file in seconds - One source of truth for design and code tokens

Add a comment

Replies

Best
Hey Product Hunt! I'm Onur, one of the makers of UISqueezy. If you've ever maintained a design system, you know the pain: someone updates a color in Figma, someone else changes it in the codebase, and within a sprint your tokens have drifted apart. We built UISqueezy to fix that for good. UISqueezy keeps your design tokens and Figma variables in sync automatically, in both directions. Push color, typography, spacing, radius, size, breakpoint, and shadow tokens straight into native Figma variables — or pull changes made directly in Figma back into your codebase. One source of truth, no manual reconciliation. It runs as a native Figma plugin: connect a file, sign in, and you're syncing in seconds. We're just getting started and would love your feedback — what would make this fit your workflow? I'll be in the comments all day answering questions.

 That's the exact pain point we see teams run into constantly. The two-way sync is solid, but yeah, conflict resolution is where a lot of tools fall short — curious to hear how UISqueezy handles simultaneous edits, since that's usually the tricky part that separates good sync from great sync.

 Per-token, not great. Some token edits push to Figma automatically, the rest go out when you hit Sync in the plugin, and Figma → UISqueezy is always a manual Pull. Each token matches by a stable source id, so the blast radius is per-token, not a full overwrite unrelated tokens are untouched. But if the same token gets touched on both sides between syncs, there's no merge or conflict warning, just whichever sync ran last. That's the piece we're actively working on, agreed it's the part that separates good sync from great sync.

Good! Two-way sync is definitely the strongest part here — token drift between Figma and code gets painful fast. Curious how you handle conflicts when both sides change the same token.

 Thanks! Right now, push and pull are separate paths: some token edits push to Figma automatically, the rest go out when you hit Sync in the plugin. Figma → UISqueezy is always a manual Pull. Either way, the blast radius is per-token, not a full overwrite each token matches by a stable source id, so unrelated tokens are untouched. The one real gap: if the same token changes on both sides between syncs, there's no merge or warning whichever sync runs last wins for that token, and that's something we're actively working on.

Two-way sync is the part that gets me, token drift between Figma and code has bitten every design system I've worked on. What format do you pull back into the codebase, Style Dictionary or W3C design tokens JSON? Congrats on shipping this.

 Thanks! Right now it's plain CSS custom properties (plus SCSS variables) flat name/value pairs, not Style Dictionary or W3C DTCG format yet. You're the second person in this thread asking about token format compatibility, so it's clearly worth adding. Thanks, and congrats noted appreciate you trying it out.