Free for site owners, agencies and developers

Know the day your pages get slower

Vitals Desk is a free Core Web Vitals monitor by Przemysław Zalewski, an independent engineer.

Every day it runs Lighthouse 13.5 on each page three times, with the same mobile settings as PageSpeed Insights, and keeps the median: Performance, Accessibility, Best Practices and SEO scores, LCP, CLS and TBT, the checks that failed and a screenshot. When a page gets slower, you get one email with what changed.

Live: my own pages, checked today

These are public monitors of ciunkos.com. Each row links to the latest check with its screenshot.

PagePerfA11yBPSEOLCPCLSTBTChecked
ciunkos.com1001001001001.1 s058 msNov 10
/ai-prompt-testing100100100100915 ms00 msNov 10
/ai-visibility100100100100914 ms00 msNov 10
/app-store-ready100100100100915 ms00 msNov 10
/bimi-checker100100100100971 ms00 msNov 10
/business-idea-validator1001001001001.0 s00 msNov 10
/core-web-vitals-monitor100100100100935 ms00 msNov 10
/email-list-validator100100100100911 ms00 msNov 10
/email-signature-generator100100100100923 ms00 msNov 10
/email-spam-test100100100100928 ms00 msNov 10
/engagement-configurator1001001001001.0 s00 msNov 10
/generator-dashboardu-posthog100100100100916 ms00 msNov 10
/generator-stopki-email100100100100914 ms00 msNov 10
/glossary1001001001001.2 s00 msNov 10
/hire-me1001001001001.4 s023 msNov 10
/kalkulator-b2b-vs-uop-2026991001001001.5 s00 msNov 10
/korpo-tlumacz971001001001.4 s0197 msNov 10
/ksef-invoice-validator100100100100917 ms00 msNov 10
/local-llm-calculator100100100100919 ms00 msNov 10
/mcp-tools-from-openapi1001001001001.1 s00 msNov 10

What it measures

LCP, Largest Contentful Paint
When the biggest image or text block shows up. Google calls it good under 2.5 s. Each check names the element, so you know what to make faster.
CLS, Cumulative Layout Shift
How much the page jumps while it loads. Good is under 0.1.
TBT, Total Blocking Time
How long JavaScript blocks the page after the first paint. INP needs real taps and clicks, which a lab check cannot make, so TBT is the lab stand-in for INP. Good is under 200 ms.
FCP and TTFB
First paint and the server response time, to tell a slow server from a slow page.
Accessibility, Best Practices, SEO
The other three Lighthouse categories, scored 0–100 like in the Lighthouse report, with the checks that failed and an example element for each.

How it works

  1. Add up to 10 pages

    Paste a URL. It is private by default; switch on Public to get a results page and a badge.

  2. A check every day

    Lighthouse 13.5 runs three times in a container on Cloudflare, mobile emulation with simulated throttling, like PageSpeed Insights. The median run goes on record with its scores, the checks that failed and a screenshot.

  3. One email when it gets slower

    Compared with the previous check and the 7-day median. LCP up 20% and 250 ms, TBT up 100 ms to over 200 ms and double, CLS up 0.05 or the score down 10 points. At most one email a day per page.

In numbers

3Lighthouse runs per check, the median counts
10pages per account, checked daily
400 daysof history on the chart

What it is not

Public results, a badge and JSON

A monitor switched to Public gets its own page: a sortable table of every page with Performance, Accessibility, Best Practices and SEO, LCP, CLS, TBT and TTFB, plus the history and every check. Put the badge with the four scores on your site, or read the JSON on your server and show the numbers in your footer.

Badge: ciunkos.com/hire-me

Paste into your HTML:

<a href="https://ciunkos.com/checks/ciunkos.com"><img src="https://ciunkos.com/checks/ciunkos.com/badge.svg?path=/hire-me" width="392" height="20" alt="Core Web Vitals" loading="lazy"></a>

JSON for a server-side strip:

https://ciunkos.com/checks/ciunkos.com/latest.json?path=/hire-me

What happens to your data

Want the numbers green?

The monitor tells you when a page gets slower. Making it fast is work: the LCP image and fonts, JavaScript that blocks the main thread, layout that jumps, caching and the server. I do it as a short fixed-scope job, starting from your checks, with a re-check of every page after each change. I reply within 24 hours on working days, personally. If I am late, the first hour of work is free.

Speed fixes: price and start date →

Questions

Why does my score differ from PageSpeed Insights?

Both run Lighthouse with the same mobile settings and simulated throttling, but on different hardware and from a different place, so Performance can differ by a few points and changes a little from run to run. That is why each check takes the median of three runs, and the trend from day to day is what this tool is for.

Where is INP?

Interaction to Next Paint needs real taps and clicks. A lab check has none, so it reports Total Blocking Time, the lab metric that tracks INP best. For INP from real users, look at the Chrome UX Report or your analytics.

Can anyone make my site public here?

Anyone can add any public URL to their own account and switch it to Public, the same way anyone can run PageSpeed Insights on it. Results pages are not indexed. If a page here should not exist, use the report link in its footer and I will remove it.

Which pages can it check?

Public http and https pages on ports 80 and 443. Addresses on private networks, localhost and IP addresses are blocked, and the name is resolved before every check.

How much does it cost?

Nothing. It runs on my Cloudflare account; the limits keep it that way: 10 pages per account, a check a day, and up to 3 extra checks a day per page.

Przemysław Zalewski

How I work

Przemysław Zalewski · 15+ years shipping software

“a true bias for action” client CTO, public LinkedIn recommendation

My pledge

All principles, the AI policy and working hours →

Pricing · Security · Privacy and analytics opt-out · Trust center

Core Web Vitals of this page, measured daily by Vitals Desk