Figma Plugins
Tools
-
Typescript
“If the tool doesn’t do what you need, build the tool you wish you had.”
I have always loved working with Figma. Although it is primarily known as a tool for UX and UI design, I have found myself using it for much more than just designing interfaces. Over time, Figma has become one of my go-to creative tools for almost anything visual or digital. I use it for photo editing, creating presentations, writing and structuring content, experimenting with ideas, making prototypes, and even organizing information. The flexibility of Figma is one of the things I enjoy most about it. It gives me a huge creative playground where design, content, and technology can come together in one place. However, that flexibility also comes with some limitations. There are many things I would like to do in Figma that the software was simply not built to handle. Instead of working around these limitations, I started using my technical skills to extend Figma myself. By creating my own plugins, I can add functionality that fits the way I work and turn some of my ideas into actual tools. Figma plugins are built using TypeScript and can be added to your own Figma projects after going through Figma's testing and publishing process. Below are some of the plugins I created. Each one started with a small frustration, an idea, or simply something I wished Figma could do, and became an opportunity to combine my design skills with my development knowledge.
Project information
Page Pilot
Page Pilot is a collection of small tools I created to make working with long-form content in Figma a lot easier. While Figma is great for designing layouts, it is not necessarily built around the practical needs of writing and editing larger documents. The plugin adds a number of functions that help bridge that gap. It can automatically number pages, count the words within selected frames, and find and replace specific words or phrases across a selection. It also includes smaller quality-of-life features, such as hiding and showing frame names when they get in the way of the canvas. I originally built Page Pilot because I kept running into these little frustrations myself. It became especially useful while writing my thesis, where I was using Figma not just to design the final document, but also to write, structure, and continuously edit its content. Instead of constantly working around Figma's limitations, I could build the functionality I needed directly into the tool I was already using.
Narrative Layout
Narrative Layout was created to solve a very specific but incredibly time-consuming problem: turning raw transcriptions into properly formatted content inside Figma. For one of my projects, I used a transcription tool to automatically convert recordings into simple text files. The problem was that these outputs were just raw text. To actually use them in my Figma designs, I would normally have to copy, paste, structure, and format everything manually. With a lot of interviews and long conversations, this could quickly become hours, or even days, of repetitive work. So I built Narrative Layout. I could create a template page in Figma that defined exactly how I wanted a transcription to look, select that template, select the text file directly inside Figma, and let the plugin do the rest. It automatically transformed the raw transcription into the structured Figma layout I needed. What started as a small automation ended up saving me literal days of manual typing and formatting. More importantly, it meant I could spend that time actually working with the information instead of simply moving text around.
Object Replacer
Object Replacer is a plugin I created for quickly updating repeated objects throughout a Figma project. When working on different sequences or variations, I often had multiple frames, buttons, components, or other objects that shared the same name. Whenever I needed to change something across those objects, doing it manually became incredibly time-consuming. With Object Replacer, I could select an object and easily find other objects with the same name, then replace or update them all at once. This made it much easier to keep different sequences consistent without having to hunt through the entire Figma file and make every change by hand. It is a fairly simple idea, but it solved one of those repetitive problems that can quietly eat up hours of design work. Instead of repeatedly making the same change, I could let the plugin handle it in a few clicks.