PRODUCT DESIGN CASE STUDY · FIGMA PLUGINPriority Software

Microcopy EditorOne place where writers and designers edit the words in Figma together.

I designed and built a Figma plugin that lists every text in a design, lets writers edit it in place, and exports it to Excel for review. The writers' team uses it regularly to hand off copy to development.

Read the case study

Illustrative mock built for this page, styled like the Figma plugin window.

MY ROLEConcept, UX & buildDesigned and built the plugin
PRODUCTMicrocopy EditorPriority Software
PLATFORMFigma pluginRuns inside Figma
TEAM & TIMELINEAbout a weekMe, with the writers’ team & AI
01 The problem

Words drift out of sync.

Writers draft in a Jira table and never see the result in the design. Designers copy the text by hand, and nothing tells them when it changed.

02 The approach

Edit the words where they live.

A plugin that gathers every text from a page or a selection, shows where each one lives, and lets people edit it directly in the design.

03 The result

Three systems became one.

The writers’ team uses it regularly to hand off copy to development — faster, easier, and with the context each string needs.

01 / THE CHALLENGE

Words written in Jira, copied by hand into Figma

The writers' team writes the microcopy in a table in Jira. It is a good place to track the text, but the writers never see the result: how the words look inside the design, in the real layout.

The designers carry the rest. They copy each string from the table into Figma by hand, and there is no tracking of whether the text changed after it was copied. Over time the design files fall out of date and stop reflecting what was actually approved.

A promotion feature, where every word is critical, showed the cost: the text changed in Jira but not in Figma, so the two no longer matched. It also made it harder for product managers to follow the copy and give it an accurate review.

02 / THE SOLUTION

A searchable list of every text in the design

The plugin turns a design file into a searchable list of its texts, built for someone who thinks in sentences, not layers.

Load what you need

Page or selection

Pull every text from the current page, or only from what is selected, including layers nested inside. Moving between pages refreshes the list.

Find the right text

Search and counter

Search by the words themselves, the layer name, or the name of the element that contains it. A counter shows how many texts match.

Edit in place

No save button

Change a text in the list and it updates the design as soon as you leave the field. Fonts load first, including layers that mix several fonts.

Stay oriented

Two-way selection

Clicking a row selects and focuses the layer on the canvas. Selecting on the canvas highlights the matching rows in the list.

Hand off to anyone

Export the current filtered list to Excel for review, translation, or a ticket. The sheet keeps the structure writers and developers need, and leaves a column for the Hebrew translation:

  • Layer ID
  • Parent
  • Layer name
  • Text
  • Hebrew translation
03 / DESIGN RATIONALE

Five decisions that shaped the plugin

Decision 01

A real plugin, not a standalone tool

My first version was a standalone web tool: read the texts, edit them, export to Excel, and hand the result back to a designer. It worked, but anything outside Figma can only read a file. Edits still had to be re-entered by hand, which was the exact problem I wanted to remove.

So I rebuilt it as a plugin that runs inside Figma and changes the text in the design itself. The standalone version still exists for quick checks outside Figma.

Decision 02

Show where each text lives

A string alone is hard to edit well. "Continue" means different things on a payment screen and in an onboarding flow. Each row shows the name of the nearest frame, component, or section that contains the text, so writers keep the context they need without opening the file.

Decision 03

No save button, and no silent failures

Writers should edit text the way they would in a document, so a change applies when they leave the field. To make that safe, the plugin loads fonts before touching a layer, and when something cannot be changed, such as a missing font, the reason appears on that row instead of failing quietly.

Decision 04

Excel as the bridge to everyone else

Not everyone who reviews copy works in Figma. Excel is where reviewers, translators, and developers already are, so the export follows the current search and filters, with a frozen header and wrapped text for easy reading. The sheet also carries a column for the Hebrew translation, so the copy and its Hebrew version travel in one file rather than two.

Small safeguards protect the content: text that starts with an equals sign stays text and is never read as a formula, and a string beyond Excel's cell limit stops the export with a clear message instead of being cut off.

Decision 05

Minimal permissions

The plugin asks for one network permission only, to load the library that builds the Excel file. Texts stay in the file and are not sent to any service. That keeps it simple to approve inside a company.

04 / HOW TEAMS USE IT

How writers and designers work with it

  1. Designer shares the file

    The writer opens the design and runs the plugin.

  2. Writer finds and edits

    Search the copy, read it in context, and change it in the list.

  3. Both review in the design

    The updated text is already in the screens, so the designer sees real wording in the layout and can flag overflow or tone.

  4. Export for the rest of the team

    An Excel file goes to reviewers, translators, or development, with the Hebrew text in its own column.

05 / IMPACT

One tool instead of three systems

In daily useFaster, easier

A tool that made the work more efficient, faster, and more pleasant for writers and designers. The writers' team uses it regularly to hand off the copy to development.

Process3 systems to 1

Work that used to spread across three systems now happens in one. The final document exports to Excel with the numbers compiled, ready to send to the development team.

User feedbackHours saved

“It saved me hours of work, and of figuring out what I am working on and in what context.”

06 / LOOKING BACK

Value beyond the design itself

I learned that I can build a plugin myself, working with AI and without writing any code.

I also learned to create value beyond the design itself: in the way our teams work together, by improving the shared process between writers, designers, and developers.