Datadog Status Pages.

Datadog Status Pages Color Updates

Overview

In my first 4 months at Datadog, I spent a lot of time learning about our products and what it means to be a product designer in this rapidly changing field. I want to share a project that emerged from my PM Yuta’s comment and stretched the traditional definition of product design.

Impact

I led the design and implementation of a color update across the Datadog app as well as static pages. The change was shipped to all 2000+ orgs using the Status Pages product and featured in a release note.

Duration

Jan - May 2026

My Role

  1. Product Designer
  2. Frontend Eng

Team

  1. Yuta Yoshida (PM)
  2. Nancy Zhu (PM)
  3. Ryan Peffers (Eng Manager)
  4. Kate Ryan (Frontend Eng)

Competing Color Systems

Status Pages had two competing color systems. When you post a status update — say, 'Investigating' — the update status carries a color. But individual components on the page also have colors: green for operational, yellow for degraded performance, orange for partial outage and red for major outage. The two systems collided on the timeline view, making it impossible to tell what any given color was actually communicating.

Timeline color confusion

Early team discussions suggested simplifying notice status colors to red and green. But after digging deeper, I found that the problem wasn’t in the number of colors, but rather that it was confusing for users to keep track of two color systems. I proposed to instead eliminate the status colors altogether and derive timeline colors directly from component states.

Exploring different color options for the timeline.

Beyond the color unification, I audited every Status Pages screen and surfaced discrepancies between the Datadog app and the public static pages. I explored design solutions for these discrepancies in addition to cleaning up colors, and aligned with engineering and product leadership through several rounds of Figma explorations alongside a prototype built directly on our frontend code base. Here are the finalized design changes:

Datadog App

Design → Production Code

The next step was implementation. As there has been a strong push for designers to code at Datadog, I was quite comfortable using Claude to prototype and decided to lead the implementation myself. However, I quickly learned that coding a prototype is very different than shipping a large PR.

Breaking up the prototype
01

Breaking up the prototype

My prototype lived in one large pull request. Before anything else, I had to decompose it into smaller, reviewable chunks. Once that was done, I asked the engineers on my team for a code review.

Feature flags
02

Feature flags

The engineers asked me to put the changes behind a feature flag. The web app and static sites are implemented separately, which required repartitioning my PRs.

API migration and merge conflicts
03

API migration + merge conflicts

Just as I was ready to launch to production, an API migration was merged into production. Every data structure my code touched had subtly changed shape. Trying to rebase with Claude was a terrible mess, so I rebuilt the features on the newly migrated APIs.

Bug bash and final polish
04

Bug bash + final polish

Finally, after a few more rounds of review, I led the bug bash for this feature. I coordinated the team to stress-test different situations and noted down feedback. I made the final adjustments and turned on the feature flag in production!

Reflection: Different Mediums of Design

While the engineering journey was tumultuous, I am grateful to have taken part in the entire product cycle. I learned that design can take many shapes. It can happen in Figma, but also through code prototypes, via PR comments, or during bug bashes.

I was initially intimidated by my lack of engineering expertise, but I think that rather than asking “should designers code?,” we should be excited that “designers can code!” Instead of treating code as something beyond our scope, we should treat it as a different medium to work with. In a world moving super fast, the most persuasive design artifact is often a coded prototype.

Screenshots of github comments, code prototypes, and bug bashes spreadsheet to show the different mediums of design.

Finally, I’d like to acknowledge the Status Pages team. This project would have stayed in Figma without the wonderful engineers and PMs on my team, who took time out of their sprints to patiently review my PRs, explain workflows, and provide user insights. They showed me that beyond coding knowledge, trust and collaboration also go a long way :)

Release note for the color update.