Skip to main content

I am looking for advice for a workflow for setting up new project files using our base multibrand design system for websites.


We are a digital agency who works with a new brand nearly every project, or work on projects that need to adhere to a brand we’ve set up for a project beforehand.


We are developing an internal design system that we describe as the ‘bones’ of a website for every project we run, which we then customise for each brand (and sometimes project). So the underlying function and structure of our design system is mostly the same from project to project, but what changes are the visual things and metrics like colour, image assets such as patterns/photos/logos, typefaces, borders, padding, spacing, grid, etc.


Our system is a set of core templates and components based on what we consider to be best practice for the web. So how they function, character limits, structure and content model, CMS admin experience, HTML page structure, bilingual interfaces, certain design considerations like ‘an accordion stays open until a user closes it’ etc etc, a colour structure, breakpoints and grids, anything were want to reuse from project to project.


We began to create a system of libraries we would duplicate and then customise for each project. One file with styles and variables, another with the components.


Before trialling variables recently, we would



  • duplicate the core library files with styles and components in them

  • Update the styles in the new duplicated library for that project with whatever the brand is

  • do a library ‘swap’ so all components now accept new styles


This worked OK, but kept us locked in the publish/accept changes library process which is extremely time consuming and annoying.


But constantly changing stuff in a project’s libraries, publishing them, and then accepting the changes in the target design files is LABORIOUS. Suuuuch a drag, sometimes buggy, and slows us down considerably. THis was clearly built as a system for big design systems that are already developed, rather than developing new design systems all the time within it. We have decided recently to stop splitting files up and try to keep things in one library file and I am trying to figure out how to do this technically.


It is so much easier to work with one file and do away with constant publishing and accepting of changes, even though it goes against the grain of how Figma is designed and these new variable features are marketed.


The most annoying thing is how underbaked variables are for moving them between files. You can copy/paste styles easily, but not variables despite the push to implement them from Figma itself recently. I have been experimenting with variables recently and they are so powerful to speed things up, but the management of them without third-party (often paid for) plugins is super woeful.


What I want to be able to do:



  • Start a new design file for a new project/brand which becomes that project’s library going forward. ONE FILE with all styles, variables and components in it. No publishing back and forth while developing the digital brand in Figma, but used as a library after the fact

  • Paste in our set of styles and variables from our core library WITHOUT HAVING TO REASSIGN ANYTHING OR LOSE ANY RELATIONSHIP BETWEEN STYLES AND VARIABLES NEEDING TO BE REASSIGNED MANUALLY WHY WAS THIS FEATURE SHIPPED SO UNDERBAKED AAAAARGH

  • Paste in the required set of templates and components from our core library and then somehow swap all the styles and variables to these local ‘Figma components’ quickly to the local styles and variables so that becomes that brand/projects library going forward.

  • Change local styles and local components to meet the design needs of the project


Is this possible? I’m wondering if there is any official advice on how to do this, or if anyone has had success with this type of process. Thanks!

Be the first to reply!

Reply