Download CV

Automation / Figma / October 2026

I had 132 cards to pair with art that already lived on another page

A Figma canvas with a row of cards. On top, 132 cards fill in, and three time bars fill in three colors.
118
Matched on their own
7.5h
Saved vs searching the file
15h
Saved vs downloading assets
14
Left for a person

Timeline

October 2026

Tools

  • Figma
  • Cursor

What I kept

  • Name matching
  • Layer transfer
  • The cards with no pair

What this is

A working estimate of designer steps, not a stopwatch study.

Overview

One Figma page held 132 cards. Another held 164 names, and those already had the background and the object on top. The cards on the first page still had placeholder art, a blur, a gradient, and two text fields sitting on top.

The job was the same for every card: find the matching name, bring over the background and the object, hide the text, delete the blur and the gradient, and lay a 40% black fill on the background, above the image. The object stays bright. The background goes quieter.

By hand that is either a search through the other file, or a download of the assets for each name. I timed neither with a stopwatch. I wrote down the steps a person actually does, at a steady pace, once they already know both files.

What the manual path costs

Searching the other file is the shorter of the two. Read the name, find it among 164, check you have the right version, copy the background, copy the object, hide two text layers, delete blur and gradient, add the black fill and make sure it sits above the picture. About 3 minutes 30 seconds when the name is there. About 2 minutes 40 seconds when it isn’t, because you still search, then you still clean the card.

For 132 cards that is about 7 hours 30 minutes.

Downloading the background and the object instead means leaving Figma: find the name, save two files, import them, scale and crop both, then do the same cleanup. About 7 minutes 15 seconds a card when the folder is already organized. About 15 hours 14 minutes for the set. Longer if the files are buried in a site or a zip.

Search the file

3 min 30 sec per match. 7 h 30 min for the batch. A fast pass, if every name lines up, is closer to 4 hours. A slow one, with version numbers and punctuation fights, is closer to 12.

Download the assets

7 min 15 sec per match. 15 h 14 min for the batch. A tidy folder is about 10 hours. Hunting each pack is closer to 25.

What I automated

Cursor read both pages and matched the visible names, not just the frame slug. Ampersands, apostrophes, and a version number glued on the end still counted as the same item. When several versions existed, it preferred the one with the same suffix.

On each match it copied the background image and the object, hid the text, removed blur and gradient, and added black at 40% opacity as a fill on the Background layer. The black fill has to be the top one. Figma paints the first fill at the bottom, so the first attempt sat under the picture and did nothing visible.

118 cards got the art. That is 89% of the page. Reviewing the result took about 8 minutes. Against searching the file, that is about 7 hours 22 minutes back. Against downloading assets, about 15 hours.

The frames got replaced once, and the same pass ran again on the new set. The useful part was that it could be repeated, not that it was clever the first time.

What stayed manual

Fourteen cards had no pair in the source set of 164. Seven names, two versions each. A person searching that same file would not have found them either. The text is hidden, the blur and gradient are gone, and the black fill is on the background. The art is still the placeholder.

No source art

I keep the list of misses privately. They are not named here. A near name is a different card, so those 14 stayed on the placeholder.

If those 14 still need files

Looking outside the Figma file is about 3 minutes a card, roughly 42 minutes more. The savings drop to about 6 hours 40 minutes against search, and 14 hours 24 minutes against downloading the whole set.

Reflection

The matching was the boring part, and it was most of the time. I still had to look at the cards, decide that a missing name stays missing, and notice when a fill was in the wrong order. That is the part I don’t want a script to guess.

What I’d repeat

Match on the name people can read, not only the layer name. Keep a list of the misses. Make the pass safe to run again when the frames get replaced.

What I wouldn’t hand over

Inventing a pair for a name that isn’t there. A near name, with an extra word or a different number, is a different card. Close is not a match.