SlideShare a Scribd company logo
! Hi, I’m Rol an d
• UX Frontend Engineer
• Leading the Design Systems and Tooling team

at ResearchGate
• Open science platform with more than 14 million
researcher and scientist signed up
• With a team of five people we’re building a cross-
platform design system called Nova
• to fight inconsistency
• enable teams to build products faster
• introduce a common language to bridge the gap
• provide a delightful user experience
No va Design Syst em
Han do ffs with a
desi gn system in mind
How a design system almost ruined our workflow
design handoffs are still the most important
medium to brief engineers
Co mmon h andoff tools
Design handoffs with design systems in mind
Design handoffs with design systems in mind
Design handoffs with design systems in mind
a design system introduces abstractions and
principles that are unknown to design handoff tools
Abstraction of design tokens attributes
#0080FF
#0080FF
blu e-500
2-abo ve
0 1px 6px rgba( 0,0,0,.13)
0 1px 6px rgba( 0,0,0,.13)
1-abo ve
Design handoffs with design systems in mind
.some-element {
color: nova-color(‘blue-500’);
box-shadow: nova-elevation(‘1-above’);
border-radius: nova-radius(‘m’);
padding: nova-spacing(‘xl’);
}
SCSS API
SCSS
.some-element {
color: nova-color(‘blue-500’);
box-shadow: nova-elevation(‘1-above’);
border-radius: nova-radius(‘m’);
padding: nova-spacing(‘xl’);
}
SCSS API
.some-element {
color: #0080FF;
box-shadow: 0 0 2px rgba(0,0,0,.18);
border-radius: 2px;
padding: 30px;
}
SCSS CSS
import { Color } from ‘@rg/nova’;
const background = Color.getColor(‘blue-500’);
Javascri pt API
handoffs without the support for attribute
abstractions are problematic
• introduce complexity
• blocks the establishment of a 

common language
• maintenance costs of design attributes
• translation overhead for engineers to
map bare values on aliases
Issues
Modular configurable components
create variations of a component by applying different
properties and choose between various compositions
Properties: 7 colors, 4 themes, 4 sizes, 3 widths, 6 states, 2 radii
Button
Compositions: icon, label, icon & label, label & sublime
icon & label & subline
Design handoffs with design systems in mind
more than 20.000 unique Button variants
“And You Thought Buttons Were Easy?”
— by @nathanacurtis 

https://medium.com/eightshapes-llc/and-you-thought-buttons-were-easy-26eb5b5c1871
<Button color=“blue” theme=“solid” radius=“full">
<Button.Icon identifier=“user” "#
<Button.Label>Button Label"$Button.Label>
<Button.Subline>Button Label"$Button.Subline>
"$Button>
<Button theme=“ghost” color=“green”>
<Button.Label>Button Label"$Button.Label>
"$Button>
React Com ponents
handoffs without the support for component properties
and compositions are really problematic
• impossible to know which components in a
design are actually supported by the design
system
• impossible to tell how a component has to
be set up
• a functional workflow transforms into 

an approach of trial and error
Issues
Design Engineering
Bridging the gap
Design Engineering
Bridging Widen the gap
Design Engineering
Bridging Widen the gap
• a tailor-made Sketch plugin to create handoffs for
designs that are built with Nova
• interactive and inspectable design handoffs that can
be shared
• translate design attributes from bare values to aliases
• interprets component properties & composites
• … and much more
No va M easure
Translate design attributes
Design handoffs with design systems in mind
Translate design attributes
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
Translate design attributes
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
"name": "Rectangle",
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 6,
Sketch document
Translate design attributes
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
"name": "Rectangle",
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 6,
Sketch document
"name": "Rectangle",
"style": {
"fills": [{
“color": “green-500”,
}],
},
"fixedRadius": “xl”,
Nova Measure
Interpret components
Design handoffs with design systems in mind
Interpret components
"name": “Button {theme: solid, color: yellow }“,
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 6,
Sketch document
Interpret components
"name": “Button {theme: solid, color: yellow }“,
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 6,
Sketch document
"name": “Button",
“props”: {
“theme”: “solid”,
“color”: “yellow”,
}
Nova Measure
Validate d esigns
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
Validate d esigns
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
"name": "Rectangle",
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 12,
Sketch document
Validate d esigns
"radius": {
"none": "0",
“m": "2px",
"l": "4px",
"xl": "6px",
"full": “9999px",
}
Attributes
"name": "Rectangle",
"style": {
"fills": [{
"color": {
"blue": 1,
"green": 0.5019,
"red": 0
},
}],
},
"fixedRadius": 12,
Sketch document
Validate d esigns
Design handoffs with design systems in mind
very powerful to fight inconsistency where it is
usually created in the first place
• manual adjustment of layer names is error
prone and far from being ideal
• high initialisation and maintenance costs for
design templates
• static design templates easily get out of sync
We’re not done yet
• a tailor-made Sketch plugin to render components
directly from code
• establish the code base as the single source of truth
• no outdated design resources, zero maintenance
costs, no errors in designs
No va Sket ch
Design handoffs with design systems in mind
info@weaintplastic.com
@weaintplastic
Thank you!

More Related Content

PDF
Designing a Design System - Shai Mishali, Gett
PDF
Mobile first: A future friendly approach to UX design
PDF
LvivCSS: Web Components as a foundation for Design System
PDF
Design systems - Razvan Rosu
PDF
New York Design Systems Coalition - Bridging the Gap
PPTX
Lecture 3.pptx UIUX Design TOOLS Details
PDF
Design Processes and Systems in Craft
PDF
Bringing a Design Language to Life in Sketch and React
Designing a Design System - Shai Mishali, Gett
Mobile first: A future friendly approach to UX design
LvivCSS: Web Components as a foundation for Design System
Design systems - Razvan Rosu
New York Design Systems Coalition - Bridging the Gap
Lecture 3.pptx UIUX Design TOOLS Details
Design Processes and Systems in Craft
Bringing a Design Language to Life in Sketch and React

Similar to Design handoffs with design systems in mind (20)

PDF
Building an Enterprise Design System for 2024
PDF
NCDevCon2012_designing the mobile experience
PDF
Designing in the open
PDF
Thinking in Components
PPTX
Liberarsi dai framework con i Web Component.pptx
PDF
How UI Framework improves design process - 2015 (Dribbble meetup)
PDF
Design Systems (english) #UXCE20
PPTX
Introduction to material design
PDF
Design Systems: Enterprise UX Evolution
PDF
How UI Framework improves design process
PDF
Customizability in Design Systems
PPTX
Building strong visual foundations for your design system
PPT
Unify Design & Deliverables
PPTX
User interface (UI) for mobile applications
PDF
10 UI UX Design Trends to Embrace in September 2024.pdf
PDF
Design Workshop I @ Cornell Tech
PPTX
Ensuring Design Standards with Web Components
PDF
Design Systems (english) #Fluxible
PDF
The Guide To Wireframing
PDF
The guide to wireframing
Building an Enterprise Design System for 2024
NCDevCon2012_designing the mobile experience
Designing in the open
Thinking in Components
Liberarsi dai framework con i Web Component.pptx
How UI Framework improves design process - 2015 (Dribbble meetup)
Design Systems (english) #UXCE20
Introduction to material design
Design Systems: Enterprise UX Evolution
How UI Framework improves design process
Customizability in Design Systems
Building strong visual foundations for your design system
Unify Design & Deliverables
User interface (UI) for mobile applications
10 UI UX Design Trends to Embrace in September 2024.pdf
Design Workshop I @ Cornell Tech
Ensuring Design Standards with Web Components
Design Systems (english) #Fluxible
The Guide To Wireframing
The guide to wireframing
Ad

Recently uploaded (20)

PDF
ART & DESIGN HISTORY OF VEDIC CIVILISATION.pdf
PDF
Pongal 2026 Sponsorship Presentation - Bhopal Tamil Sangam
PPTX
Entrepreneur intro, origin, process, method
PDF
Integrated-2D-and-3D-Animation-Bridging-Dimensions-for-Impactful-Storytelling...
PDF
Introduction-to-World-Schools-format-guide.pdf
PPTX
NEW EIA PART B - Group 5 (Section 50).pptx
PDF
intro_to_rust.pptx_123456789012446789.pdf
PPTX
Complete Guide to Microsoft PowerPoint 2019 – Features, Tools, and Tips"
PPTX
CLASS_11_BUSINESS_STUDIES_PPT_CHAPTER_1_Business_Trade_Commerce.pptx
PPTX
Special finishes, classification and types, explanation
PDF
Chalkpiece Annual Report from 2019 To 2025
PDF
UNIT 1 Introduction fnfbbfhfhfbdhdbdto Java.pptx.pdf
PPTX
An introduction to AI in research and reference management
PDF
SEVA- Fashion designing-Presentation.pdf
PDF
Design Thinking - Module 1 - Introduction To Design Thinking - Dr. Rohan Dasg...
PPT
UNIT I- Yarn, types, explanation, process
PDF
Facade & Landscape Lighting Techniques and Trends.pptx.pdf
PPT
WHY_R12 Uaafafafpgradeaffafafafaffff.ppt
PDF
Key Trends in Website Development 2025 | B3AITS - Bow & 3 Arrows IT Solutions
PDF
Skskkxiixijsjsnwkwkaksixindndndjdjdjsjjssk
ART & DESIGN HISTORY OF VEDIC CIVILISATION.pdf
Pongal 2026 Sponsorship Presentation - Bhopal Tamil Sangam
Entrepreneur intro, origin, process, method
Integrated-2D-and-3D-Animation-Bridging-Dimensions-for-Impactful-Storytelling...
Introduction-to-World-Schools-format-guide.pdf
NEW EIA PART B - Group 5 (Section 50).pptx
intro_to_rust.pptx_123456789012446789.pdf
Complete Guide to Microsoft PowerPoint 2019 – Features, Tools, and Tips"
CLASS_11_BUSINESS_STUDIES_PPT_CHAPTER_1_Business_Trade_Commerce.pptx
Special finishes, classification and types, explanation
Chalkpiece Annual Report from 2019 To 2025
UNIT 1 Introduction fnfbbfhfhfbdhdbdto Java.pptx.pdf
An introduction to AI in research and reference management
SEVA- Fashion designing-Presentation.pdf
Design Thinking - Module 1 - Introduction To Design Thinking - Dr. Rohan Dasg...
UNIT I- Yarn, types, explanation, process
Facade & Landscape Lighting Techniques and Trends.pptx.pdf
WHY_R12 Uaafafafpgradeaffafafafaffff.ppt
Key Trends in Website Development 2025 | B3AITS - Bow & 3 Arrows IT Solutions
Skskkxiixijsjsnwkwkaksixindndndjdjdjsjjssk
Ad

Design handoffs with design systems in mind

  • 1. ! Hi, I’m Rol an d
  • 2. • UX Frontend Engineer • Leading the Design Systems and Tooling team
 at ResearchGate • Open science platform with more than 14 million researcher and scientist signed up • With a team of five people we’re building a cross- platform design system called Nova
  • 3. • to fight inconsistency • enable teams to build products faster • introduce a common language to bridge the gap • provide a delightful user experience No va Design Syst em
  • 4. Han do ffs with a desi gn system in mind How a design system almost ruined our workflow
  • 5. design handoffs are still the most important medium to brief engineers
  • 6. Co mmon h andoff tools
  • 10. a design system introduces abstractions and principles that are unknown to design handoff tools
  • 11. Abstraction of design tokens attributes
  • 14. 2-abo ve 0 1px 6px rgba( 0,0,0,.13)
  • 15. 0 1px 6px rgba( 0,0,0,.13) 1-abo ve
  • 17. .some-element { color: nova-color(‘blue-500’); box-shadow: nova-elevation(‘1-above’); border-radius: nova-radius(‘m’); padding: nova-spacing(‘xl’); } SCSS API SCSS
  • 18. .some-element { color: nova-color(‘blue-500’); box-shadow: nova-elevation(‘1-above’); border-radius: nova-radius(‘m’); padding: nova-spacing(‘xl’); } SCSS API .some-element { color: #0080FF; box-shadow: 0 0 2px rgba(0,0,0,.18); border-radius: 2px; padding: 30px; } SCSS CSS
  • 19. import { Color } from ‘@rg/nova’; const background = Color.getColor(‘blue-500’); Javascri pt API
  • 20. handoffs without the support for attribute abstractions are problematic
  • 21. • introduce complexity • blocks the establishment of a 
 common language • maintenance costs of design attributes • translation overhead for engineers to map bare values on aliases Issues
  • 23. create variations of a component by applying different properties and choose between various compositions
  • 24. Properties: 7 colors, 4 themes, 4 sizes, 3 widths, 6 states, 2 radii Button Compositions: icon, label, icon & label, label & sublime icon & label & subline
  • 26. more than 20.000 unique Button variants
  • 27. “And You Thought Buttons Were Easy?” — by @nathanacurtis 
 https://medium.com/eightshapes-llc/and-you-thought-buttons-were-easy-26eb5b5c1871
  • 28. <Button color=“blue” theme=“solid” radius=“full"> <Button.Icon identifier=“user” "# <Button.Label>Button Label"$Button.Label> <Button.Subline>Button Label"$Button.Subline> "$Button> <Button theme=“ghost” color=“green”> <Button.Label>Button Label"$Button.Label> "$Button> React Com ponents
  • 29. handoffs without the support for component properties and compositions are really problematic
  • 30. • impossible to know which components in a design are actually supported by the design system • impossible to tell how a component has to be set up • a functional workflow transforms into 
 an approach of trial and error Issues
  • 34. • a tailor-made Sketch plugin to create handoffs for designs that are built with Nova • interactive and inspectable design handoffs that can be shared • translate design attributes from bare values to aliases • interprets component properties & composites • … and much more No va M easure
  • 37. Translate design attributes "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes
  • 38. Translate design attributes "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes "name": "Rectangle", "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 6, Sketch document
  • 39. Translate design attributes "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes "name": "Rectangle", "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 6, Sketch document "name": "Rectangle", "style": { "fills": [{ “color": “green-500”, }], }, "fixedRadius": “xl”, Nova Measure
  • 42. Interpret components "name": “Button {theme: solid, color: yellow }“, "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 6, Sketch document
  • 43. Interpret components "name": “Button {theme: solid, color: yellow }“, "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 6, Sketch document "name": “Button", “props”: { “theme”: “solid”, “color”: “yellow”, } Nova Measure
  • 45. "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes Validate d esigns
  • 46. "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes "name": "Rectangle", "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 12, Sketch document Validate d esigns
  • 47. "radius": { "none": "0", “m": "2px", "l": "4px", "xl": "6px", "full": “9999px", } Attributes "name": "Rectangle", "style": { "fills": [{ "color": { "blue": 1, "green": 0.5019, "red": 0 }, }], }, "fixedRadius": 12, Sketch document Validate d esigns
  • 49. very powerful to fight inconsistency where it is usually created in the first place
  • 50. • manual adjustment of layer names is error prone and far from being ideal • high initialisation and maintenance costs for design templates • static design templates easily get out of sync We’re not done yet
  • 51. • a tailor-made Sketch plugin to render components directly from code • establish the code base as the single source of truth • no outdated design resources, zero maintenance costs, no errors in designs No va Sket ch