Harry Roberts

@csswizardry.com

🚀 Independent Web Performance Consultant • Speaker • Google Developer Expert, Web Performance • Accepting new clients • https://harry.is/for-hire

I’ve started including a `mission-statement.md` alongside my project-level `AGENTS.md`. It contains philosophical notes about the project: why it exists, what questions it exists to answer, what ‘good’ looks like, etc.

Three vertically stacked Vim windows showing Markdown mission statements for different client engagements. Each document begins with a heading and concise project summary. Client names have been replaced with placeholders and identifying path information is redacted.

Has anyone written/built an `llms.txt` that they’re really happy with? And have you noticed it working/helping? I recently updated my research agent to check all websites for `/llms.txt` before diving straight into parsing pages of HTML and I’m looking forward to seeing if/how effective it is.

If you’re doing any reasonable amount of performance work, ensure you have a fresh browser profile with no ad blockers installed, and ensure this is unchecked (Chrome)! You’re only getting part of the picture otherwise.

Bild

Today, I spoke at the inaugural #DUNC26 in Hull—a real gem of a city. The conference packed so much diversity of content into a one-day, one-track event, BUT! My favourite takeaway is that every single speaker listed a personal site/blog in their slides. I visited every one of them. What a day.

Show, don’t tell! A couple of years ago, I ran a custom INP workshop for a client, and built an interactive demo to show them what their site FEELS like. Today, I decided to polish it and publish it!

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...

Better Browser Caching with No-Vary-Search – CSS Wizardry

No-Vary-Search lets HTTP caches ignore irrelevant query parameters such as UTM tags, while still keeping meaningful ones like product variants in the cache key.

csswizardry.com

100% agree with this! Browsers are AMAZING at loading a page in mostly the right way by default. There are lots of extra options (fetchpriority, loading=lazy) to tweak that further if you know with reasonably certainly that they could benefit from those. If it’s ambiguous, then leave it be.

Harry Roberts@csswizardry.com · 4mo ago

🚫 When All You Can Do Is All or Nothing, Do Nothing For all you weekend warriors, advice for times of uncertainty. csswizardry.com/2026/03/when...