Paul Kinlan
banner
paul.kinlan.me
Paul Kinlan
@paul.kinlan.me
Lead for Chrome Developer Relations at Google. Web Developer. Avid user of AI tooling.

I live in the beautiful town of Rhuthun in North Wales. Learning Welsh and loving Wales.

https://paul.kinlan.me/ and https://aifoc.us/
Reposted by Paul Kinlan
🤔 What are request priorities, and why do we even need the HTML fetchpriority attribute?

Check out my new video to find out!

www.youtube.com/watch?v=yoa7...
Apply fetchpriority=High To Optimize LCP Image Discovery
The HTML fetchPriority attribute helps browsers load more quickly, resulting in better Largest Contentful Paint scores. 00:00 Introduction 00:16 Why do resource priorities matter? 01:17 Why do we…
www.youtube.com
December 19, 2025 at 10:10 AM
I use Gemini Deep Research all the time. I use Email all the time.

The new Deep Research API seemed like a great opportunity to integrate with email.

I made [email protected] as a demo that you can mail and get a report delivered to your inbox. Just put a prompt as the body of the mail
December 17, 2025 at 12:57 PM
Can anyone with local dev knowledge of China help me understand this data in statscounter?

Explosion in growth of Win in last few of months: gs.statcounter.com/os-market-sh...

Also Chrome gs.statcounter.com/browser-mark...

I'm wondering if there's another change (i.e locked user agent string etc)
Operating System Market Share China | Statcounter Global Stats
This graph shows the market share of operating systems in China based on over 5 billion monthly page views.
gs.statcounter.com
December 16, 2025 at 12:16 PM
Reposted by Paul Kinlan
I'm looking for some feedback on a Chrome Extension that I made.

I wanted to explore the user trails concept from the Memex.

Trails - chromewebstore.google.com/detail/trail... - allows you to create your own links between pages entirely locally and have them maintained across navigations.
Trails - Chrome Web Store
Create links between content on any web page and any other and have them persist.
chromewebstore.google.com
December 15, 2025 at 10:19 PM
I'm looking for some feedback on a Chrome Extension that I made.

I wanted to explore the user trails concept from the Memex.

Trails - chromewebstore.google.com/detail/trail... - allows you to create your own links between pages entirely locally and have them maintained across navigations.
Trails - Chrome Web Store
Create links between content on any web page and any other and have them persist.
chromewebstore.google.com
December 15, 2025 at 10:19 PM
Reposted by Paul Kinlan
It was fun to build flickity.val.run

I turn each article linked from hackernews into a short video by summarizing the post, taking a screenshot and then combining them into a script for veo3.1

Video gen could be better, but surprisingly good.
December 14, 2025 at 4:28 AM
It was fun to build flickity.val.run

I turn each article linked from hackernews into a short video by summarizing the post, taking a screenshot and then combining them into a script for veo3.1

Video gen could be better, but surprisingly good.
December 14, 2025 at 4:28 AM
Reposted by Paul Kinlan
December 3, 2025 at 9:18 PM
Reposted by Paul Kinlan
If you're in to double iframes. I have a test custom-element called that aims to let you securely* run HTML generated by LLMs in the browser.

generate-html-element.paulkinlan-ea.deno.net
github.com/paulkinlan/g...

* this is a demo and example and should not be used in production
Generate HTML Demo
generate-html-element.paulkinlan-ea.deno.net
December 3, 2025 at 9:04 PM
If you're in to double iframes. I have a test custom-element called that aims to let you securely* run HTML generated by LLMs in the browser.

generate-html-element.paulkinlan-ea.deno.net
github.com/paulkinlan/g...

* this is a demo and example and should not be used in production
Generate HTML Demo
generate-html-element.paulkinlan-ea.deno.net
December 3, 2025 at 9:04 PM
When OpenAI launched their AppsSDK I was impressed by the double-iframe sandbox. To test out the AppsSDK I built a simple shim and Chrome Extension that replicated major parts of the API.

Was fun to get OpenAI Apps hosted in a Chrome Extension and just work...

github.com/PaulKinlan/o...
GitHub - PaulKinlan/omnibox-mcp
Contribute to PaulKinlan/omnibox-mcp development by creating an account on GitHub.
github.com
December 3, 2025 at 8:02 PM
Reposted by Paul Kinlan
I explore 30 year old tech (Content negotiation in HTTP) and how we might use it on the web with LLMs.

If you have the ability to transform any content into any content we can get a web that is built to be personalised to every single person in their preferred medium.

aifoc.us/hyper-conten...
hyper content negotiation
I fondly remember sitting with my friend Chris learning how to make HTTP requests so that we more quickly check if our web pages were rendering as we expected without the need to load the browser. We ...
aifoc.us
November 27, 2025 at 8:54 PM
I explore 30 year old tech (Content negotiation in HTTP) and how we might use it on the web with LLMs.

If you have the ability to transform any content into any content we can get a web that is built to be personalised to every single person in their preferred medium.

aifoc.us/hyper-conten...
hyper content negotiation
I fondly remember sitting with my friend Chris learning how to make HTTP requests so that we more quickly check if our web pages were rendering as we expected without the need to load the browser. We ...
aifoc.us
November 27, 2025 at 8:54 PM
Reposted by Paul Kinlan
The headless stopgap - aifoc.us/headless-sto...

LLMs and generative technology can change the way we think about creating and managing content. Specifically, we can apply *layout and functionality* to pages through prompts how CSS helped separate content from the style.
headless stopgap
I remember my early days building for the web. We had no separation of concerns. We used <font> and <center> tags, transparent spacer.gifs, and complex table layouts to force our content into a shape....
aifoc.us
November 25, 2025 at 3:33 PM
Reposted by Paul Kinlan
My #WebAI Summit talk "Built-in AI in the wild: A Mastodon translation success story" is now live: youtu.be/-l2BUUdBDS8?.... I had so much fun giving this talk, and in it I teach you the German word for waving back at someone who wasn't waving at you: Fremdwinkzurückwinkungspeinlichkeit 🇩🇪 👋 😳.
Built-in AI in the wild: A Mastodon translation success story
YouTube video by Chrome for Developers
youtu.be
November 27, 2025 at 9:03 AM
The headless stopgap - aifoc.us/headless-sto...

LLMs and generative technology can change the way we think about creating and managing content. Specifically, we can apply *layout and functionality* to pages through prompts how CSS helped separate content from the style.
headless stopgap
I remember my early days building for the web. We had no separation of concerns. We used <font> and <center> tags, transparent spacer.gifs, and complex table layouts to force our content into a shape....
aifoc.us
November 25, 2025 at 3:33 PM
It's still frustrating that after 6 months my site aifoc.us is still not showing in search...

No need to share with our search folks, I'm just venting.
November 23, 2025 at 12:25 PM
Reposted by Paul Kinlan
Whither CMS? I think the CMS industry is up for a massive change with the introduction of LLMs. Historically CMSs tend to be used at the long-tail of the web where there is little traffic, it's also the space where people might be more willing to use new tools.

aifoc.us/whither-cms/
Whither CMS?
When I moved to North Wales I noticed how many of the local businesses were solely on Facebook and Instagram. I spoke to some of them to ask why they don’t have a site and it came down to four common ...
aifoc.us
July 6, 2025 at 7:29 PM
Reposted by Paul Kinlan
Token slinging: aifoc.us/token-slingi...

I've been thinking about the effects of tokens and how it impacts direct web development. Feels like there is a change in that we are now back to paying for our IDEs (even if it's indirectly).
token slinging
17 years ago I discovered Google App Engine. It was the first truly scalable “serverless” platform that I had ever seen. I could just write an HTTP handler and it would scale to meet the demand. It wa...
aifoc.us
June 30, 2025 at 7:07 PM
Reposted by Paul Kinlan
📰 Dead Framework Theory

💬 React's reign might be over as LLMs could liberate us from its compilation woes. Mixed feelings on whether this is great or dreadful. 🤷‍♂️

https://news.ycombinator.com/item?id=45843220
November 7, 2025 at 6:45 AM
Moon through the flames
November 1, 2025 at 8:46 PM
I love autumn
October 31, 2025 at 10:11 AM
Any recommendations of a KVM switch? I'd like it to be mostly usb-c (I use it for display) and for 2 monitors and a laptop
October 22, 2025 at 9:06 PM
Reposted by Paul Kinlan
We've taken the new version of the Core Web Vitals Tech Report out of Beta and now consider this the report to use:

httparchive.org/reports/tech...

Anyone still using the old Looker Studio-based report, it's time to check out the new goodness with much quicker response times and improved UX!
October 15, 2025 at 10:03 PM