Kym Aidosova All work
Case study · Figma plugin · Internal tool · Marketing design

One banner in, 35 sizes out, in about 10 seconds.

One master banner becomes every Google Ads size the team needs, with the layout rebuilt for each shape rather than stretched. Saves the team 8 to 10 hours a week.

Role
Product designer, design and build
Team
Design team working with Marketing
Tools
Figma, Figma Plugin API, AI-assisted coding
Impact
8 to 10 hours saved per week
The problem35 sizes, made by hand.

The problem

Our design team works closely with Marketing on funnel pages and campaigns for e-learning products sold around the world. Every campaign needs Google Ads banners in 35 sizes, from small squares to tall skyscrapers and thin leaderboards.

We made every size by hand in Figma. The creative work happened once, on the first banner. Everything after that was repetitive resizing, and it took hours each week.

The banners themselves are simple, with the same structure every time: logo, headline, short text, button and background. That told me the work could be automated.

Before, for every size

  1. Duplicate the frame
  2. Resize it
  3. Move logo, headline and button
  4. Fix text that wraps
  5. Check the size
  6. Export
Options3 options, 1 clear choice.

Finding the right solution

I looked at three options:

  1. A separate tool outside Figma. Flexible, but it adds another product to build, host and maintain, and it moves designers out of their workflow.
  2. An MCP server connected to Figma. Powerful, but more complex to set up and run for a simple, repeated task.
  3. A Figma plugin. It works where the team already designs, needs no setup, and is free to build and run.

I chose the Figma plugin. It had the lowest cost and the least friction for the team, and it turned out to be the right decision.

The solutionOne banner in, 35 out.

The solution

A designer selects one or more master frames on the Figma canvas. There is no naming convention and nothing to set up: any Auto Layout frame works.

The plugin reads each master’s own proportions to decide what it is. Wider than 1.6:1 is a leaderboard, narrower than 0.8:1 is a skyscraper, and anything in between is a square.

One master is enough, because a square master covers every shape. A leaderboard or skyscraper master is only needed when a design does not survive being squeezed into a strip or a column.

Generate rebuilds each size from the master’s structure: the same items in the same order, with padding, spacing and alignment copied per side and scaled. Nothing is stretched.

Everything inside a generated banner is a component instance, so editing the master updates every banner at once. An edit made to a single banner stays local to that banner.

How it worksDesign, generate, export.

How it works

  1. Build the master. One Auto Layout frame, nothing absolutely positioned. Each top-level item is one unit, and the order top to bottom becomes left to right in wide formats.
  2. Select it on the canvas. The panel shows which shapes you have covered.
  3. Generate. All sizes appear beside the master in about 10 seconds.
  4. Export. Three ZIPs: banners, RDA assets and the logo.
SelectNothing to name or set up. Generate stays disabled until a master frame is selected on the canvas.
CoverEach master is matched to a shape. A shape with no master of its own is built from the square one.
ChooseSizes are grouped by ad format. A size that no selected master can build is dimmed and left out of the count.
ExportThree ZIPs: banners, RDA assets and the logo. A check marks each one already downloaded.

After

  1. Design one banner
  2. Generate
  3. Review
  4. Export ZIPs

Fix one, regenerate the rest.

Some shapes always need a human. When a generated leaderboard is not right, you improve that one banner by hand and select it. It becomes the leaderboard master, and regenerating rebuilds only the leaderboard sizes from it, in place. The squares and skyscrapers are left exactly as they are. You can go further and select just the sizes you want rebuilt, so a banner you are happy with is never touched again.

Impact8 to 10 hours saved weekly.

Impact

8 to 10 hrsSaved weekly on banner production.
~10 secTo generate every size.
35 sizesFrom one master banner.
150 KBHit automatically on every AdWords export.Google rejects display creatives over 150 KB, so each export steps JPEG quality down until every file is under the cap. No manual re-exporting.
0Extra cost, it runs on the existing Figma plan.
LearningsBuilding it was never the hard part.

What I learned

With AI, anyone can build a tool now. The question is whether someone will use it.

An external tool would have ended up like all the others, unused. So it had to be a plugin, inside Figma, where the team already works. One click, every size, zipped and inside Google’s file limits. Minimal effort, and that is the whole reason it gets used.