Bridging the Gap: Improving Collaboration Between Engineering and Design

  • Publish Date
  • Reading Time
    3 minutes
  • Tags
    • css
    • react
Post

    One of my favourite talks from ReactFest London was Siddharth Kshetrapal's presentation on the frontend workflow. Their discussion about how design systems can be undermined by misunderstandings between project disciplines reminded me of a similar experience I had with a designer on a React project. We were discussing the inconsistencies in vertical rhythm between their design and the application's frontend build. To illustrate their point, they opened the design in Sketch and enabled the grid view.

    1.1: Sketch’s design grid
    1.1: Sketch’s design grid

    Sketch's grid is a visual overlay that enables designers to create a highly precise layout. I had assumed that constant spacing between components would result in consistent vertical rhythm, but the demonstration showed that even though the components were evenly distributed on the page, their respective content was not.

    1.2: Vertical rhythm example
    1.2: Vertical rhythm example

    To address the issue of inconsistent vertical rhythm, I created a similar treatment for the frontend by adding a styled component to the application root. The grid would sit on top of the entire application, fixed to the viewport using

    Loading...
    with a high
    Loading...
    and
    Loading...
    disabled.

    The grid was generated using a repeating-linear-gradient on the component's

    Loading...
    property. The grid lines were made up of two sections: an opaque coloured grid line and a transparent interval. Custom props allowed the consumer to configure the colour, width, interval, and direction of each line, with default values serving as a fallback (the values below emulate a 12-column vertical grid layout).

    Loading...

    With the overlay in place, we were able to more accurately compare the vertical rhythm of our Sketch design with the production build and edge closer to pixel-perfect design (if that's your goal). To demonstrate the output, I quickly added the overlay to a personal site. Setting

    Loading...
    emulates Sketch's regular grid, while
    Loading...
    resembles the layout grid.

    Enjoying the article?

    Support the content

    1.3: Grid overlay (horizontal)
    1.3: Grid overlay (horizontal)

    1.4: Grid overlay (vertical)
    1.4: Grid overlay (vertical)

    Adding the grid overlay to the application was a rewarding experience. In addition to its practical value, it also helped us to understand each other's approaches to the project and improve the workflow as a result. It's these small progressions that lead to truly collaborative efforts and produce the best results.

    Related Articles