📝 Articles
Implementing Slots in a Figma Library
Nathan outlines a structured approach to implementing Figma's native slots in design libraries, moving beyond simple component swaps. They detail a discovery process including library audits and comparative research, explores pattern decisions around slot approaches and properties, and recommends implementing changes systematically through batched branches rather than wholesale library updates.
Balancing Stability and Innovation in Design Systems
Tony explores how design systems can balance their role as critical infrastructure with opportunities for internal innovation. Whilst external changes should move slowly with rigorous testing, internal experimentation can happen faster, improve team velocity, and often benefit users and broader engineering teams.
Prioritizing the right thing: Balancing feasibility, desirability, and viability in design systems
Charlotte discusses the importance of balancing feasibility, desirability, and viability in design system prioritisation. It emphasises that design systems serve people, requiring stakeholder agreement and collaboration. By using these three lenses, teams can make informed trade-offs, ensuring that decisions align with customer value. The author highlights the need for transparency in decision-making and the ongoing nature of prioritisation, ultimately shifting the design system from a collection of components to a scalable platform.
👀 Interesting Reads
Why Most Design Principles Fail
Ben examines why most design principles fail to guide actual decisions. Principles often read like aspirational slogans rather than practical tools, avoid addressing trade-offs, exist in unmemorable long lists, and confuse organisational values with decision-making frameworks. Effective principles should be few, memorable, reveal priorities, and naturally appear in team discussions when choices become difficult.
What I Learned from Analyzing 158 Design Systems
Romina shares insights from analysing 158 design systems, revealing that most do not ship all essential layers and make significant trade-offs. The findings emphasise the importance of comprehensive documentation and the necessity for content guidelines to ensure effective use and adoption.
Purpose Over Preference: How to Define Design System Components That Actually Scale
Payal discusses the challenges of naming components in design systems, emphasising that clarity of purpose is essential for effective naming and usage. By defining the intent behind each component, teams can avoid misalignment and ensure that components serve their intended functions. Establishing a design rationale helps maintain consistency across documentation, design, and code, ultimately leading to a more resilient and understandable design system.
The shadcn-ification of the internet
Luis reflects on the impact of AI tools and the widespread adoption of the shadcn library in frontend development. While shadcn offers a solid foundation for design systems, he cautions against the misconception that it eliminates the need for careful implementation and understanding of design principles. As AI-generated products proliferate, there's a risk that poor implementations may tarnish the library's reputation, turning a symbol of craftsmanship into one of shortcuts. The challenge lies in fostering design literacy within teams to ensure effective use of these tools.
🛠 Tutorials
Penpot deep dive: Color tokens vs asset colors
Laura walks us through Penpot's two approaches for storing reusable colours: asset colors and design tokens. Whilst both support consistent visual language, design tokens offer better integration with development workflows and cross-platform compatibility, making them ideal for new projects.