Lighthouse is one of the most successful developer tools we’ve ever shipped, and I say that as someone who is genuinely proud of the work the team has done on it. But something has gnawed at me for a while. Our ability to help the developer ecosystem with it is ultimately capped by the number of tests we can physically create. Every audit is a hand-written piece of JavaScript. Someone has to…
At first, this was a really easy post to write, but then I discovered some things. Built a lot of things. Spent a lot of tokens… And it became one of the hardest, longest, and most expensive posts I’ve done (the API costs were not small). I’ve had this thing on my mind for ages and it started when I was thinking about how the mere presence of a technology name in a prompt seemed…
I’m building software every day at a pace I’ve never managed before, even when I wasn’t a manager. The tools (Claude, Codex, Antigravity) have unlocked a huge amount of potential and given me the ability to experiment. However, I constantly run into issues. I live at the cutting edge of the web platform. A lot of what I build is literally just landing in the browser, so it kind…
Just over a month ago I wrote that WebMCP is the new web intents … maybe , but now I really do think that WebMCP is the new web intents (in a good way, not the “ the entire project crashed and burned ” way). While the spec says that this is not the intended goal, I think we have a federated way for the web to declare its capabilities and for someone (ideally you) to keep an…
What is described here in this project is dangerous, it can get pretty much full access to everything inside your browser and could enable control of your browser from outside it I really do believe we are witnessing a transition in how we build and run software. This entire blog is dedicated to my explorations in this space, for example, I wrote about why the browser is the sandbox which explains…
If the majority of my app is just a prompt, then I have a very transportable program. The agent loop is the same everywhere ( I have my own one but there are dozens). The memory is a few hundred kilobytes of files. The system prompt is a markdown document. I can take that bundle and run it on a server, in an email host, in a browser, on my laptop. The portability of the program isn’t really…
I keep hearing people say that there is a model “half-life” which keeps dropping from years between model releases down to a few months, with the implied assumptions that model releasing will drop to even further. I’ve heard the phrase “model half-life” so much recently that I wanted to actually look at the data. I made a TSV of every headline model release from late…
I’m 45 years old and using cooked to mean something that it never meant. I don’t know when it happened, but it’s out there along with vibe. Anyway… This post is all personal opinion. Before we go too deep, I just want to ground some of this article in the definition of a PWA. MDN has a good overview. “A progressive web app (PWA) is an app that’s built using web…
Before Google, I worked at a small telecoms company in Liverpool called Qire. It was an interesting company and I’d just gone from working in a big slow corporate building Fraud Detection systems to a small company that had to be pretty nimble. It had maybe 15 people in total. We ended up building voice interaction systems , automated outbound calling, SMS campaigns, data processing and the…
There’s a confluence of things that have happened recently that have made me question how browsers might be developed: On January 8th 2026, Simon Willison predicted that someone will build a browser using mainly AI-assisted tools within 3 years On January 27th 2026, one human and one agent built a browser from scratch (great experiments) On the 19th February 2026, news came out that Taalas…
Knowing what is happening in the web development ecosystem is a critical part of my job in Chrome DevRel, so every Monday morning I get emails telling me what happened last week in Chinese web development; the state of Passkeys; WASM; HTML-in-Canvas; the Prompt API; AI Coding tools; OpenClaw, and many other topics I’m tracking. For a lot of what I’m tracking there are no newsletters or…
One day the web will have a federated way to link to functionality. I swear we will. For those who know me, you can tell that I’ve been thinking about Web Intents again… a lot. If you don’t know me, Web Intents was a 2012 attempt to give the web a vocabulary for “I want to do X, what site can help me?”. Share, edit, pick, save-for-later, buy. And a way for sites to…
In early January 2026 I was listening to Transistor Radio , the Semi-Analysis podcast, where Doug O’Laughlin was talking about how good Claude Code had become. I follow a lot of analysis sites covering what’s happening in LLMs, Ben Thompson , Semi-Analysis , and others, and this one stuck with me. Then in February they published “Claude Code is the Inflection Point” ,…
Two conversations have been rattling around in my head this month, and they frame the same question from completely opposite directions. The first is Steve Yegge on The Pragmatic Engineer podcast with Gergely Orosz . Steve’s argument is blunt. Every company has a dial, and he puts it like this : “Everybody has a dial that they get to turn from zero to 100. And you can keep your hand…
When I was at Liverpool John Moores University studying software engineering, my best friend Jon pulled me aside and told me I had a verbal tick. Instead of saying “um” or “uh” between words, I was saying “f***ing.” Three or four times a sentence. I was doing it in normal conversation with friends, with people I’d just met, even with lecturers. I had…
I built an application recently. It has a contact directory, a database, cross-referencing, topic tracking, meeting notes, project management, backup and restore, automated sync, conflict resolution, and a task queue. The entire program is a markdown file. It’s just a CLAUDE.md file. It sits in a git repo with some bash scripts for plumbing, but the actual behaviour (what the system does,…
NotebookLM is one of my favorite applications in decades. If you haven’t experienced it before, it’s an application that lets you pull in sources from all around - Google Drive, PDFs, public links - collate them into a notebook, and then query or transform that content. Want to turn five research papers into a podcast? Done. Need to extract key takeaways from a collection of articles?…
I got hooked on Claude Code over the holiday break and used it to create a number of small projects in record time. The CLI works well, and claude.ai/code has a really nice way of just firing off tasks and then reviewing them when done. The model has enabled me to create and ship a lot of personal projects that I’ve always wanted to build (I will talk about my process in a later post, as I…
It’s been nearly 9 months since I started this blog and I feel that while I kept up a good pace of articles and I’ve dived deeper in to my thoughts on the intersection of web and AI (specifically LLMs), however a lot of what I’ve done is hidden away because they are the things that I’ve been building that help me test my ideas and hypothesis'. To set some context, I’m the manager and…
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 would use: c:\telnet.exe pcbware.com 80 Then blindly type: GET /index.shtml HTTP/1.0 The keys I typed weren’t echoed back to me, but if we got it right it would return: 200 OK Content-Type:…
I remember my early days building for the web. We had no separation of concerns. We used <font> and <center> tags, transparent spacer.gif s, and complex table layouts to force our content into a shape. Presentation and content were a single, messy soup. My first encounter with CSS in Netscape Navigator 4 was a mind-blowing moment. It was the first time I was confronted with the idea that you could…
These are my opinions and are ruminations on what might be happening as more and more developers use LLMs and Frameworks to build on the web. In October last year I wrote “ will developers care about frameworks in the future? ” predicting that LLMs would abstract away framework choice. I was wrong—or at least, wrong about the timeline. The reality is more interesting and more…
This is a very quick post. I had an idea as I was walking the dog this evening, and I wanted to build a functioning demo and write about it within a couple of hours. While the post and idea started this evening, the genesis of the idea has been brewing for a while and goes back over a year to August 2024, when I wrote about being sucked into a virtual internet . WebSim has been on my mind for a…
The thing about the web is that you don’t know what is on the other end of a link. And yet, we happily click and tab on these blue, underlined pieces of text that could then run practically anything within the confines of that little tabbed rectangle. It’s an incredible thing to be able to deliver and run code that is unknown and unseen by the user. Imagine a world where instead of…
I was introduced to the concept of the Memex after my post about super-apps . It’s a fascinating view of the future from the late 1940s and early 1950s. Vannevar Bush presented a vision of an information system that he named the Memex. Ignoring the heavily gendered language and technology that were firmly set in their time (microfilm), “As We May Think,” the article that…
As much as I struggle with on-device processing and the quality of its output compared to server models, I am excited by some of the APIs that are being built into browsers that are backed by LLMs and other AI inference models. For example, the prompt API, along with a multi-modal version that can take any arbitrary combination of text, image, and audio and run prompts against them. These APIs are…
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 issues 1) cost, 2) built in network, 3) skill, and 4) time. It’s hard to beat free, good enough, and access to a network of potential customers. At the same time nearly everyone that I…
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 was also the first time in computing where I experienced a direct relationship with the cost of my code running. Prior to this every service I built was compartmentalized to a physical…
The web browser is such an amazing concept. From the very first moment I used one, right up until today. You type in a URL and you can have something run on the server and then displayed in the browser. It got me hooked in 95, and keeps me hooked today. Back in the day, Perl was my jam. I loved to create login systems, e-commerce sites, email hosting providers. You name it, I could get the server…
AI assisted programming is becoming more and more frequent amongst developers. Its usage ranges from asking AI tools like Gemini and pasting answers into the IDE, to using AI as a glorified auto complete, to full on vibe coding, delegating most of the code written to AI agents. Models are getting more capable and, but still not perfect. Developers are still ultimately responsible for the code…
No, not that one . The E in SLICE is for embedding content…. Oh wait, that E was for ephemeral. Hmm, never mind. I guess this is the other E which is actually the C in SLICE. “Composable”. After linking composability is one of the most critical features of the medium that is the web. It’s the only platform that I know of that enables expression by integrating live content…
Paul Kinlan recently wrote about how latency of AI models to generate UIs with HTML, CSS and JavaScript is decreasing significantly, and how that can lead to user UIs that are ephemeral, dynamically generated, and specialized to the user need at hand. To me, the direction of travel is clear. UI generation to service user-goals is going to happen. Combining this with Model Context Protocol (MCP)…
I spent an evening in a fictitious web . The faux-browser window hosted at WebSim.ai gave me a view into a virtual world that didn’t exist, but one that felt like it did. Every page that I visited was created in the moment that I requested it, willed into existence by a generative AI model. It was like the early days of the web. Every page felt fresh and unique. Some were high quality, some…
I’ll keep playing here while the rest of you flirt with apps. I’ll be here when you come back. I know it’s going to happen. Here’s why. Linking. Dave Winer - 2011 The web has a lot going for it. We coined the term SLICE (Secure, Linkable, Indexable, Composable, and Ephemeral) to describe its benefits, but at its purest essence the hyperlink is the thing that makes the web…
I’ve spent two weeks in April wandering around Japan with my wife, daughter and parents - it was incredible. I used a browser twice. Most of the time that I spent with my phone wasn’t on the web or in traditional apps, it was in a LLM. I would give the LLM photos of packets of food and ask what it is and it would handily tell me the brand, and then I could follow up and with a photo of the back of…
I remember the exact moments when major transitions in my life happened. The first time I got a BASIC program working. The first time someone used one of my programs. My first email. The first time I visited a website. The first time I made a website. The first time I saw my future wife. The first time I held each of my children. In each of these moments, I knew things changed and at the same time…