Figma published a detailed account of how it built its first-party design-editing model, and it’s worth reading for anyone thinking about what domain-specific fine-tuning actually looks like in production.
The core problem Figma is solving is narrow but tricky: users don’t want a model that generates new designs, they want one that makes precise, targeted changes to work already on the canvas. “Adjust the spacing” or “change that button color to match the header” sounds easy but requires understanding the current state of a live Figma document, issuing exact edit operations in Figma’s native format, and not accidentally touching anything else. Generalist frontier models can attempt this, but they’re not especially good at it — they tend to suggest rather than execute, hallucinate design elements, or miss context that’s obvious to anyone who can see the canvas.
Figma’s approach started with supervised fine-tuning on synthetic data: pairs of a starting design, a natural-language edit request, and the correct resulting change, generated by larger models and checked by validators and visual judges. Early models were built on Llama 3.3 70B; more recent candidates are built on Qwen 3.8 27B and other newer base models. With more than 250,000 training examples, the SFT model became competitive with existing options on editing tasks.
The interesting part comes after that. Figma found that imitation learning has a ceiling: the model learns to replicate training distribution rather than to generalize to real user requests, which are messier and more varied. So they added reinforcement learning with reward models calibrated by expert designers — people who routinely do the kind of editing being evaluated. The reward function scores structure, visual quality, and instruction-following separately, with an additional eye on speed and cost.
On Figma’s internal edit benchmark, an unreleased Qwen 3.8 27B-based model scores 77.8%, a slim margin over a comparison model at 76.9%. That gap isn’t obviously meaningful on its own. What’s more persuasive is the deployed behavior: Figma says typical tasks complete about 20% faster, the new agent matches or beats the previous one 62% of the time in expert evaluations, and user ratings are 33% higher.
The number that stands out is the undo rate, down 60%. Undos are almost perfectly honest — they happen when a user gets an edit they didn’t want, with no room for the model to claim partial credit. A drop from baseline to 40% of the original rate means users are getting what they asked for most of the time, which is a meaningfully harder bar than getting a reasonable-looking design.
One detail worth noting: the Figma agent doesn’t use its own model for everything. It routes image generation and open-ended exploration to third-party frontier models and uses its own model only for the targeted canvas editing where it has an advantage. That kind of specialization is a reasonable architectural choice — building a model that’s good at a focused task, then deploying it only within that task’s scope.
The broader takeaway is that “use a frontier model” is still the right answer for most things, but precision-intensive workflows with well-defined success criteria and a lot of domain-specific structure are still a good fit for targeted fine-tuning. The fine-tuning cost is nontrivial, but Figma is a large company deploying this to millions of users, and the undo reduction alone is probably worth it.
