Recent Work

APM Service Configuration

Service owners had poor visibility into how their services were configured, and configuring the services was confusing and overly complex. I brought clarity and simplicity.

Company Datadog
My role Design lead, visual and UX
My team Myself, 1 PM, 1 EM
Design tools Figma, Figjam, ChatGPT
The Unified Service Settings page and Settings Hub screens in the Datadog app

Configuration is just a means to an end for a desired outcome.

This project started with 2 configuration-based OKRs assigned to me. As I became familiar with the user needs for these two tickets, I realized that the problem was much larger.

I audited the entire Datadog platform for anywhere services could be configured, and discovered 8 different screens, flows, and pages, not including configurations in local code and environment variables.

I then wrote a design proposal for a single hub for service configuration, from initial instrumentation to complete observability. I used this proposal, which I called “Service Lifecycle Management,” to build momentum and excitement, and ideally get PM and Engineering resource approval.

Screenshots from the Service Lifecycle Management proposal doc
Screenshots from my “Service Lifecycle Management” proposal doc

Discovery & Alignment

As the idea gained momentum, I partnered with a designer whose team was building an experience for automatically discovering services on infrastructure.

Both problems shared configuration as a common thread, so we mapped the entire lifecycle of a service: from discovery on infrastructure, to instrumentation with the Datadog agent, through the various states of telemetry and observability.

This lifecycle map became central to our updated proposal doc, which we used to estimate the work and get buy-in from PM and Engineering leadership.

The full map of a service lifecycle, from deployment to complete telemetry
The full map of a service lifecycle, from deployment to complete telemetry

The final alignment step was a workshop I led with core stakeholders to define user stories and requirements.

Screenshot of the Figjam card sorting workshop
Screenshot of the Figjam card sorting workshop

Initial Design Explorations

Now that we had alignment, commitment, and excitement, I wrote our primary and secondary user stories, and mapped them out as user flows.

Example of user flows for key stories
Example of user flows for key stories

Next, I explored several different iterations on those core user flows, with mockups and prototypes of varying fidelity. I led pair design sessions with other team leads, and a weekly design meeting with key stakeholders. Throughout the process, I got feedback from internal Datadog users, early access customers, and our lead Support Engineer.

Early wireframes for the service configuration flows
Mid-fidelity designs for the service configuration flows
Example of early wireframes and mid-fidelity designs

Once the team and I were aligned on the core flow designs, I designed a mid-fi prototype to get the first round of user and internal stakeholder feedback.

I designed this concept around the settings being grouped into 3 primary categories: Instrumentation, Service Settings, and Product & Features. Since our research showed most users are looking for specific features in these categories, my hope was to reduce cognitive load by separating them into tabs.

Screens from the first mid-fi prototype, showing the Instrumentation, Service Settings, and Product & Features tabs
Screens from the first mid-fi prototype

Next, I presented the prototype to executive design, product, and engineering leadership. We received good feedback, but were also challenged on some things. They really loved seeing all the once separated configurations together in one place. On the other hand, the 3-category grouping was a hard sell.

Slides from the presentation to executive design, product, and engineering leadership
Slides from the executive leadership presentation

Final Iteration Designs

Unified Settings Page

After compiling all the stakeholder and user feedback we had so far, I redesigned the single-service configuration experience to be a “Unified Service Settings page.” Every service would have one, and it would be easily accessible from a Service Detail page.

The Unified Service Settings page with annotated design details
All of a Service’s settings, conveniently in one screen
The expanded configuration row with annotated design details
The expanded row is designed to answer all the critical questions a user has about a configuration.

Settings Hub

When the single service experience was complete, I designed a hub where users could access configurations for all of their services.

The Settings Hub page with annotated design details
For the first time ever, users could see how every one of their services was configured and instrumented, all in one place.

What impact did my design have?