Design To Engineering Handoff

Design To Engineering Handoff
Illustration by Mariah Barnaby-Norris for this article

Creating redlines for engineers

Pixel-perfection is something I care about a lot, especially when creating redlines. I fuss over the details; the curse (and superpower) of a production-minded designer. But this behavior elevates engineering-ready mockups because redlines become more than just a design spec. They transform into a communication resource between design and engineering, and through them, I want to ensure that everything the design needs to say is captured without question.

Engineering page within the design file
An example of a designer’s chaotic Figma file
Comments on specific UI components
Comments on specific UI components

Redlines etiquette

I admit, redlines can be tedious, but I always put extra time and effort into them knowing this will help my engineering partners work more efficiently. Most of the work is focused on the structure and foundation of the design like spacing, typography, and colors. But I also like to include extras that go above and beyond to help streamline the build phase.

Important component information is displayed in the Inspect panel that supports the build process
Important component information is displayed in the Inspect panel that supports the build process
Design linting plugin for Figma created and used at Lyft
Design linting plugin for Figma created and used at Lyft
Spacer components are used to communicate spacing information
Spacer components are used to communicate spacing information
Platform-specific redlines are provided to iOS engineering partners
Platform-specific redlines are provided to iOS engineering partners
Platform-specific redlines are provided to Android engineering partners
Platform-specific redlines are provided to Android engineering partners

Alternative information

Like I mentioned earlier, I fuss over the details and after working with a slew of product teams, I discovered that there is a piece of information missing that can further streamline the build effort. The most common question I receive from engineering partners is if a component is a custom one or not which prompted me to find a way to portray this information easily. There are two ways to do this: use of component overlays or by leveraging component descriptions.

Transparent overlays designating design system components
Transparent overlays designating design system components
The Android/iOS button component with designated keywords
The Android/iOS button component with designated keywords
  • Unlinked typography and colors
  • Inconsistent spacing values
  • What components are shared or custom

Handoff checklist

Tl;dr to ensure quality handoff from design to engineering:

  • Create a separate page and name it “🚢 For Engineering”
  • Relink to design system attributes (Typography and Color)
  • Place spacing details over design
  • Base spacing is a factor of 8px (ie Spacer 2 is 16px: 2 x 8 = 16)
  • Redline at additional platform sizes (iOS AND Android, Desktop Web AND Mobile Web)
  • Audit design to replace with design system components & place overlays on top of those components (or, verify design system components have component descriptions included)

Final thoughts

Handing off from design to engineering can look vastly different from company to company. And I have seen different processes varying from team to team even within the same company as well. There is no right way or wrong way in my opinion as long as you answer the guiding question, “Am I setting up my engineering partner for success?” If you keep that in mind then handoffs will become more efficient and collaborative from project to project.

--

--

A collection of Design Systems for Figma from all over the globe 🌎

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Jeremy Dizon

Product Design / Design Systems super-monkey 🐵 | @jeremydizon on Twitter 💬