component-architecture

2 posts

figma

Taking cues from code | Figma Blog (opens in new tab)

Design systems are becoming more complex as teams collaborate across interconnected products, and Figma argues that design can learn from software engineering. The goal is to introduce structure without eliminating creative flexibility. The article highlights component composition and decoupling structure from presentation as ways to make systems more adaptable and scalable. ## Design Borrowing from Code - Design was once largely local and isolated, with files stored on individual machines. - Modern design involves larger teams, shared ecosystems, and dependencies across products and files. - Design systems help maintain consistency and quality at scale, but excessive structure can restrict exploration. - Figma sees software engineering patterns as useful models for handling this complexity. ## Nesting Components for Flexible Layouts - Simple systems can represent variations through component variants. - As the number of layouts grows, maintaining every variation separately becomes difficult. - Component properties can support limited optionality, such as cards with or without images or pull quotes. - Properties are insufficient when components differ substantially in orientation and structure. - Composition offers a more flexible approach: - Designers create small, reusable sub-components. - These sub-components are nested inside larger, layout-specific components. - The same building blocks can be recombined into many arrangements. - This reduces the need to anticipate every possible layout when designing the system. ## Decoupling Structure from Presentation - Basic design systems often hard-code a single visual theme into each component. - Teams may later add light and dark modes, followed by themes for different products, brands, or sub-brands. - As the number of themes increases, maintaining colors and styles becomes increasingly burdensome. - The article introduces headless design systems as an architectural response to complex theming requirements, separating a component’s underlying structure from its visual presentation. A scalable design system should favor composable building blocks and flexible theming rather than attempting to encode every possible layout and brand variation directly into monolithic components.

figma

Multiplayer, IRL | Figma Blog (opens in new tab)

Figma launched Local Communities to help designers connect, learn, and collaborate in person after successful Design System Meetups across eight cities and four continents. The initiative began with groups in more than 20 cities, supported by regional Designer Advocates who gather feedback and help organize events. Figma’s goal is to build communities around members’ real local needs—not just product tips and workflows. ## From Meetups to Local Communities - Design System Meetups sparked deeper conversations about: - Running effective design critiques - Open design culture - Everyday challenges and successes - New professional partnerships - The events showed Figma that its community wanted more opportunities for in-person connection. - Local Communities launched in cities including Accra, Amsterdam, Berlin, Boston, Copenhagen, Lagos, London, New York, San Francisco, Seattle, and Tel Aviv. ## A Community Shaped by Local Needs - Cities were selected based on factors such as: - Existing Figma evangelists and meetup organizers - Concentrations of Figma users - Geographic diversity - Communities are intended to support learning, networking, and sharing beyond basic Figma instruction. - Members can suggest workshops, pitch events, or request a new community in their city through an online form. ## Regional Designer Advocates Figma created three Designer Advocate roles to support communities across different regions and time zones: - **Tom Lowry — North America** - Previously a senior UX designer at OpenText. - Created Figma tutorials, component architecture guidance, and the Material Design resource kit. - Also taught an online course about building design portfolios. - **Zach Grosser — Europe** - Former communications designer at Square, where he created executive presentations and the IPO roadshow deck. - Introduced Figma to Square’s design team in 2013. - Joined Figma to support design education after becoming an early product adviser and moving to Amsterdam. - **Namnso Ukpanah — Africa** - Organized a Lagos design systems meetup that attracted more than 300 designers and developers. - Helped onboard 21 Figma ambassadors across 11 cities and seven countries. - Continued this community work while serving as lead designer at Hotels.ng. ## Community Participation - Designer Advocates act as Figma’s local representatives and help turn community ideas into events. - Figma encouraged members to propose topics such as: - Hiring diverse design teams - Speed networking for freelancers and organizations - Workshops and other city-specific events - The program remained open-ended, with Figma relying on local participants to identify what their communities needed most. Figma’s recommendation is to participate actively: share ideas, propose events, or help establish a Local Community where one does not yet exist.