Read Anthropic’s case study about Graphite Reviewer

Best practices for integrating design reviews with code reviews

Sara Verdi
Sara Verdi
Graphite software engineer
Try Graphite

Incorporating design reviews into the code review process helps make sure that both the functionality and user experience of software are addressed during development. By combining these two review stages, teams can achieve a cohesive workflow that balances technical excellence and intuitive design.

Before diving into best practices, it’s worth understanding why this integration is valuable:

  1. Improved Collaboration: It bridges the gap between designers and developers, fostering a shared understanding of goals and challenges.
  2. Consistency: Ensures that the implementation matches the intended design specifications.
  3. Reduced Rework: Catching design or implementation issues early reduces costly fixes later in the development lifecycle.
  4. Enhanced User Experience: Aligning design and functionality leads to cohesive, user-friendly products.
  • Define the scope of design reviews within the code review process. Will designers verify the UI/UX elements, or will they also comment on code affecting user workflows?
  • Assign responsibilities for each review type and clarify what designers and developers are expected to check.
  • Leverage tools that support both code and design reviews. For example, use version control systems like GitHub for code and link design specifications via tools like Figma or Zeplin.
  • Consider integrations that bridge these tools, such as embedding design prototypes or screenshots directly into pull request comments.
  • Require developers to reference design mockups, style guides, or interaction flows in their pull requests.
  • Designers can review the visual output of code changes by accessing previews or staging environments directly from the pull request.

For each PR, include both a design reviewer and a technical reviewer. Tools like Graphite allow assigning reviewers and grouping PRs in specific categories for reviewers, such as "Waiting for review". The review can be divided:

  • Design reviewers should focus on visual and UX fidelity.
  • Technical reviewers should ensure proper implementation.
  • Use a single platform for feedback to avoid siloed discussions. Centralizing comments from both designers and engineers ensures all input is considered in one place.
  • Encourage designers and developers to participate in the same review session when significant UI changes are involved.
  • Maintain a shared repository that includes both code and design assets (e.g., CSS variables, UI components, and design tokens).
  • Developers can reference these assets during implementation, and designers can ensure consistency.
  • Define clear metrics for when a pull request can pass both code and design reviews. This may include:
    • Adherence to design mockups
    • Accessibility compliance
    • Responsiveness and scalability
  • Establish thresholds for minor deviations that can be adjusted in future iterations without blocking the release.
  • Regularly evaluate the effectiveness of your integrated review process. Gather feedback from designers and developers on what’s working and what needs improvement.
  • Use retrospectives to refine workflows and address recurring challenges.
  1. PR creation: A developer submits a PR with linked design files.
  2. Automated checks: CI/CD pipelines validate code quality and enforce design rules.
  3. Design review: A designer reviews visual aspects via the linked assets and Graphite’s PR inbox.
  4. Code review: A developer checks technical details.
  5. Feedback resolution: The developer addresses feedback, updating both code and design links if necessary.
  6. Approval and merge: The PR progresses once both reviewers approve.

Graphite’s PR inbox serves as an "email client" for your pull requests, enabling organized and efficient reviews. It helps teams track PRs that require immediate attention, with features like:

  • Default repositories: Focus on specific repositories tied to your projects.
  • Custom sections: Create tailored views for PRs requiring design and code reviews.
  • Collaborative filters: Share configurations across teams for consistent review standards.

By utilizing tools like Graphite, you can centralize design and code reviews to promote better cross-collaboration and speed up approvals.

Built for the world's fastest engineering teams, now available for everyone