Pinned
🧑💻 I wasn’t going to mention this until next week but it’s Friday—treat yourself! I’ve just launched a members-only subscription: screencasts, Q&A, mentoring, discounts, and more. 👉 csswizardry.gumroad.com/l/subscribe
Harry Roberts
@csswizardry.com
🚀 Independent Web Performance Consultant • Speaker • Google Developer Expert, Web Performance • Accepting new clients • https://harry.is/for-hire
6.4K followers197 following437 posts
Pinned
🧑💻 I wasn’t going to mention this until next week but it’s Friday—treat yourself! I’ve just launched a members-only subscription: screencasts, Q&A, mentoring, discounts, and more. 👉 csswizardry.gumroad.com/l/subscribe
I’ve spotted a @developer.chrome.com bug a few times in the wild, but today I finally caught it in the act. Pages hanging for 5+ minutes! CrBug raised here: issues.chromium.org/issues/57632...
It’s a real shame that folk a decade ago weren’t warning developers against utterly insane things like CSS-in-J — oh.
GitHub.com has fully moved off CSS-in-JS to CSS Modules, resulting in 55% less server-side render time and 25% faster component init. https://github.blog/engineering/architecture-optimization/improving-site-performance-by-shipping-more-css/
🇬🇧 ✈️ 🇳🇱 Just landed in Schiphol ready for @fronteers.bsky.social Dark Mode tomorrow!
#WebPerfWednesday 11 is out, in which we fix a longstanding bug in @speedcurve.com, and Safari gets network throttling! csswizardry.com/2026/09/web-...
What is Time to First Byte and what can you do about it? csswizardry.com/2019/08/time...
Are you getting the most out of your Speculation Rules? Probably not! csswizardry.com/2024/12/a-la...
If you’re tracking your Core Web Vitals with synthetic, you probably also want to track your Total Blocking Time window: csswizardry.com/2026/06/fron...
Over the last day or so, Codex and I have been working on adding a proper taxonomy and associated categories and tags to the blog. Finally, @csswizardry.com has a proper archive! csswizardry.com/blog/
The reason this has been absent for so long is that @csswizardry.com is built on Jekyll which has no first class support for categories and tags, so I’m especially proud of this: csswizardry.com/blog/tags/
Another day, another compelling use case for `No-Vary-Search`! csswizardry.com/2026/05/bett...
I’ve been using @talat.app for a few months now and it’s completely changed how I handle meetings. I’ll prime Codex for an upcoming call and what I need out of it, then point it at the Talat MCP and get it to extract the bits that are meaningful.
Anyway. This is #notAnAd! I have a fully paid up license and I can literally show you receipts, but! I am also informally giving away one free lifetime license to ONE person. Follow me and @talat.app and quote-post this post with how it would help you.
BCP 14 is the practice that collates and defined MUST, SHOULD, MAY, etc. www.rfc-editor.org/info/bcp14/
🗓️ Published! This week’s #webPerfWednesday looks at Chome’s new release cadence, Unattributed Navigation Overhead, and soft navs in DevTools: csswizardry.com/2026/08/web-...
I wrote this up a bit more formally: csswizardry.com/2026/08/how-...
Instead of asking Codex to look in Gmail for ‘[subject]’ (risky and prone to duplicates or misinterpretation), head to ‘Show original’ and use the RFC 822 `MESSAGE-ID` (from 1982!) to target an exact specific message. From there, it can surface the entire visible thread.
If you use @speedcurve.com—and you should—then LUX Sidecar is for you! csswizardry.com/2026/08/intr...
Unattributed Navigation Overhead is one of the biggest things you’re missing out on… csswizardry.com/2026/08/uno-...
#webPerfWednesday no. 5 is live! We look at DevTools bug fixes that landed in preview versions of Chrome and Safari, as well as new streamable `fetch` uploads (confusing): csswizardry.com/2026/08/web-...
🐛 Safari published an unusually terse bug fix in STP 250 — I looked into It. csswizardry.com/2026/08/when...
Friday freebie for all you @speedcurve.com fans: LUX Sidecar – Your SpeedCurve Companion gist.github.com/csswizardry/...
🤳 I just published the 2026 update to my ongoing research, ‘Low- and Mid-Tier Mobile for the Real World’. What are this year’s target hardware? Find out! csswizardry.com/2026/07/low-...
A great, succinct, informative write up from my pal @matuzo.at! Context-aware headings in HTML: www.matuzo.at/blog/2026/co...
🔍 I can’t help but feel like we’re missing something… Front-End’s Missing Metric: csswizardry.com/2026/06/fron...
🎤 I’m speaking at #LeedsJS TONIGHT! Free to attend. Be there or be aspect-ratio: 1; www.meetup.com/leeds-js/eve...
🩺 Meet Your Users Where They Are with Obs.js csswizardry.com/2026/05/meet...
An important update courtesy of @tunetheweb.com! csswizardry.com/2026/05/bett...
I’ve been working with a client who runs a lot of social media and ad campaigns, so we’ve been deploying the experimental `No-Vary-Search HTTP` header. It’s amazing to see it actually working! Read all about it here: csswizardry.com/2026/05/bett...