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.
| Page | Perf | A11y | BP | SEO | LCP | CLS | TBT | Checked |
|---|---|---|---|---|---|---|---|---|
| ciunkos.com | 100 | 100 | 100 | 100 | 1.1 s | 0 | 58 ms | Nov 10 |
| /ai-prompt-testing | 100 | 100 | 100 | 100 | 915 ms | 0 | 0 ms | Nov 10 |
| /ai-visibility | 100 | 100 | 100 | 100 | 914 ms | 0 | 0 ms | Nov 10 |
| /app-store-ready | 100 | 100 | 100 | 100 | 915 ms | 0 | 0 ms | Nov 10 |
| /bimi-checker | 100 | 100 | 100 | 100 | 971 ms | 0 | 0 ms | Nov 10 |
| /business-idea-validator | 100 | 100 | 100 | 100 | 1.0 s | 0 | 0 ms | Nov 10 |
| /core-web-vitals-monitor | 100 | 100 | 100 | 100 | 935 ms | 0 | 0 ms | Nov 10 |
| /email-list-validator | 100 | 100 | 100 | 100 | 911 ms | 0 | 0 ms | Nov 10 |
| /email-signature-generator | 100 | 100 | 100 | 100 | 923 ms | 0 | 0 ms | Nov 10 |
| /email-spam-test | 100 | 100 | 100 | 100 | 928 ms | 0 | 0 ms | Nov 10 |
| /engagement-configurator | 100 | 100 | 100 | 100 | 1.0 s | 0 | 0 ms | Nov 10 |
| /generator-dashboardu-posthog | 100 | 100 | 100 | 100 | 916 ms | 0 | 0 ms | Nov 10 |
| /generator-stopki-email | 100 | 100 | 100 | 100 | 914 ms | 0 | 0 ms | Nov 10 |
| /glossary | 100 | 100 | 100 | 100 | 1.2 s | 0 | 0 ms | Nov 10 |
| /hire-me | 100 | 100 | 100 | 100 | 1.4 s | 0 | 23 ms | Nov 10 |
| /kalkulator-b2b-vs-uop-2026 | 99 | 100 | 100 | 100 | 1.5 s | 0 | 0 ms | Nov 10 |
| /korpo-tlumacz | 97 | 100 | 100 | 100 | 1.4 s | 0 | 197 ms | Nov 10 |
| /ksef-invoice-validator | 100 | 100 | 100 | 100 | 917 ms | 0 | 0 ms | Nov 10 |
| /local-llm-calculator | 100 | 100 | 100 | 100 | 919 ms | 0 | 0 ms | Nov 10 |
| /mcp-tools-from-openapi | 100 | 100 | 100 | 100 | 1.1 s | 0 | 0 ms | Nov 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
Add up to 10 pages
Paste a URL. It is private by default; switch on Public to get a results page and a badge.
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.
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
What it is not
- Lab data, not field data. Your real users (Chrome UX Report) can see different numbers, especially for INP.
- Scores come from real Lighthouse 13.5 runs, so they match a Lighthouse report from the same machine. PageSpeed Insights runs on different hardware in a different place, so its numbers can differ by a few points.
- One location (a Cloudflare data center) and one device profile (a mid-range phone).
- It measures how fast a page loads. It does not look at your code, your security or your SEO.
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.
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-meWhat happens to your data
- Your email is used only to sign in and for slowdown emails. You can turn the emails off with one click.
- Monitors are private until you switch them to Public.
- Checks are kept 400 days, screenshots 90 days. Deleting a monitor or the account deletes its checks and screenshots.
- No password and no card. Analytics in PostHog (EU), with the text on the page masked.
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.
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.
