Making Web Vitals readable for everyone

Making Web Vitals readable for everyone

Making Web Vitals readable for everyone

One performance dashboard for developers and the people who don't speak their language

One performance dashboard for developers and the people who don't speak their language

One performance dashboard for developers and the people who don't speak their language

Role & Stack

Role & Stack

  • Founding Product Designer

  • Designed one flow for two audiences: developers and non-technical teams

  • Built the design system from day one (tokens, components, patterns)

  • Set the depth of technical detail with two performance experts

  • Figma ยท Variables ยท Design Tokens ยท Prototyping

The brief

The brief

Web performance tools were built for developers. CatchMetrics wanted the same data to make sense to people who know their site feels slow but can't read the numbers, without losing the depth developers need to fix it.

How I worked

How I worked

How I worked

Competitor tools were powerful but intimidating if you weren't a developer. The product was pre-launch, so I leaned on:

  • Two performance experts who'd spent years seeing how real users struggle with this data

  • Competitor analysis of SpeedCurve, Calibre and Chrome DevTools

  • Heuristics and cognitive load principles to cut the overwhelm

From challenges to design choices

From challenges to design choices

From challenges to design choices

Each choice answers one question a non-technical user would actually ask.

User Need

Challenge

Design Choice

Is my site slow?

Too much data at once

Too much data at once

One summary per metric, with a clear "Failed" state

One summary per metric, with a clear "Failed" state

Where is it slow?

Users donโ€™t know where to look

Pages ranked by impact

Why is it slow?

Technical data is overwhelming

Technical
data is overwhelming

Element drilldown with a plain breakdown

Early exploration

Early exploration

Started with simple dashboards to see how people would enter the data: by browsing problems or by asking questions.

Entry points written as questions, not metrics. Someone who doesn't know what INP means can still ask "Are scripts slowing down my site?"

Structuring journeys

Structuring journeys

Split the product in two: exploring what's wrong, and fixing it.

Map or table

Map or table

The map was great for scanning but hard for comparing. The experts knew users needed to rank countries too, so I kept both behind a toggle.

Version A

Version A

Map-first

Quick to scan by region, hard to compare exact numbers.

Version B

Version B

Table-first

Easy to rank failing countries, loses the geographic picture.

Easy to rank failing countries, loses the geographic picture.

The answers

The answers

The answers

Each question in the table became one step.

1

1

Is my site slow?

One summary per metric. Failing ones are flagged so you don't need to know the thresholds.

2

2

Where is it slow?

Pages ranked by impact, so you start with the worst one.

3

3

Why is it slow?

The exact element, under a plain heading: "What caused the delay?"

Final flow: from "is it slow?" to "here's the fix"

Final flow: from "is it slow?" to "here's the fix"

Final flow: from "is it slow?" to "here's the fix"

The three questions held up, but scripts caused enough of the problems to need their own step. The final product has four.

Overview

Spot failing metrics quickly

Pages

Prioritise affected pages

Scripts

Identify slow scripts

Elements

Drill into root causes

Built to stay simple as it grows

Built to stay simple as it grows

Built to stay simple as it grows

New metrics were coming, and every new pattern would be one more thing for a non-technical user to learn. So everything was built from a small set of parts.

  1. Design system with tokens and variables, so new screens match the old ones without me redesigning them.

  1. One card, many metrics. A new metric slots into a card users already know how to read.

  1. One drilldown pattern everywhere. Script, pages, detail. Learn it once, use it on every level.

  1. Filters that carry through. Pick INP, LCP or CLS once and every view below follows.

Reflection

Reflection

  • The hard part: keeping it simple without hiding the depth. Progressive disclosure did most of the work.

  • What I'd validate next: where the handoff between non-technical users and developers should sit.

  • How I'd measure it: whether a non-technical user can answer "is my site slow, and where?" without help.

Some of the features can be seen here: https://www.catchmetrics.io/platform

ยฉ Dimitra 2026

ยฉ Dimitra 2026

ยฉ Dimitra 2026

Create a free website with Framer, the website builder loved by startups, designers and agencies.