Sign in

Paul Conroy

@conroyp.bsky.social
66 followers 115 following 100 posts

🖥️ CTO at Square1.io ✍️ Conroyp.com

PostsRepliesMedia
Paul Conroy @conroyp.bsky.social · 11/10/2026
It being new does mean agents are still catching up to the spec, so they need prodding to find the tools today (Codex took a few reminders, see the screenshot below!) What WebMCP is, the real numbers, how to switch it on, and the rough edges you'll see with it today: www.conroyp.com/articles/mak...
100
Paul Conroy @conroyp.bsky.social · 11/10/2026
While WebMCP is new, it's certainly not a toy: Stripe recently brought WebMCP to their hosted checkout. The old browser-driving way cost ~1.8M tokens per purchase, 42% lower with WebMCP, and 39% faster. I tried it on one of my own sites - average of ~27× fewer tokens, up to 82×, ~1/22 the cost.
100
Paul Conroy @conroyp.bsky.social · 11/10/2026
The old way: at every step, re-read a wall of HTML, guess where to click, hope. With WebMCP the agent just calls the functions we want it to use. It's the same results, but delivered much more effectively (and using the same code)
100
Paul Conroy @conroyp.bsky.social · 11/10/2026
For an AI agent, "using your website" has meant driving the browser: read the page, find the button, click, hope. It's often brittle, and very token-heavy. #WebMCP flips that around - your site hands the agent tools to call directly. 🧵
100
Paul Conroy @conroyp.bsky.social · 21/09/2026
The AWS SDK includes a Composer hook that removes services your application doesn’t use. In a simple test for an app using only S3 and SQS, it reduced vendor/aws from around 68MB to just over 5MB, without requiring any changes to the application code.
100
Paul Conroy @conroyp.bsky.social · 18/09/2026
My talk is "Delete Your Dependencies: What the Browser Can Do Now". As web devs, we carry around plenty of assumptions about what browsers can and can't do. Some are still true, but many are not! The web platform has moved on, but our habits have't always followed.
110
Paul Conroy @conroyp.bsky.social · 18/09/2026
Back to Vilnius for Build Stuff this December! Always a highlight, and this year marks its 15th birthday. Also looking forward to seeing Dublin from the other side of the video portal again 🇮🇪🤝🇱🇹 #BuildStuff15 #buildstuffconf #AgeOfAgency
120
Paul Conroy @conroyp.bsky.social · 02/09/2026
Due to the way ad networks work, the audio and text didn't always sync up. There's an experimental feature in this release which (hopefully!) lines them up a bit better in the onsite player. This is a bit more experimental, so if this is working very well or badly for you, let me know!
100
Paul Conroy @conroyp.bsky.social · 02/09/2026
We can also look across the whole archive: • Who's the go-to dragon when @maxrushden.bsky.social wants to drill into the numbers? • How many guests is it possible to cram into a single ep? • Who swears more often, @phlaimeaux.bsky.social or Max (or late entry from Max's mum)?
100
Paul Conroy @conroyp.bsky.social · 02/09/2026
As a stats nerd, it's a crime against nature to have new data available and not immediately visualise it. Each episode has its own stats panel, showing who was speaking, when, and how much in that episode.
100
Paul Conroy @conroyp.bsky.social · 02/09/2026
Every episode now reads speaker by speaker, and search filters down to a single voice. Which means you can finally ask what someone said across the entire archive, rather than trawling episode by episode.
100
Paul Conroy @conroyp.bsky.social · 24/08/2026
The client can also express a preference. For example, send: Accept-Payment: stripe/charge …and the server can return only the Stripe challenge. So the resource stays the same; the agent negotiates the payment rail around it.
100
Paul Conroy @conroyp.bsky.social · 24/08/2026
A single endpoint can now support multiple payment rails. You might offer Stripe and Tempo for the same resource. The agent can tell the server which rails it supports, and the server returns the appropriate payment challenge. This means no rail-specific endpoints are required!
100
Paul Conroy @conroyp.bsky.social · 24/08/2026
We've released laravel-mpp 2.0 🚀 Two big additions: 🔎 Better discovery for paid routes 💴 Payment negotiation - multiple payment rails on a single route! This makes it easier for agents to find a resource, understand the price, and work out how to pay. #laravel #php
100
Paul Conroy @conroyp.bsky.social · 09/08/2026
MPP pricing doesn’t have to be static anymore! We’ve just tagged v1.2.0 of square1/laravel-mpp, adding dynamic pricing for MPP-protected #Laravel routes. Price at request time based on the user, account, subscription tier or your own application logic. github.com/square1-io/l...
100
Paul Conroy @conroyp.bsky.social · 06/07/2026
With Agentic Commerce being a buzzy term at the moment, I wanted a small, concrete demo of the Machine Payments Protocol. So I built an API where your agent can pay for historic football scorelines (It's MVP - team names coming in v2...) Try it out at www.payforgoals.com
100
Paul Conroy @conroyp.bsky.social · 29/03/2026
I built Screen Portal: draw a rectangle on your screen, and it portals just that area live into a Chrome tab you can share. In the latest edition of "Wait, the web can do that now?!?", it's built using the Screen Capture API + canvas. ~200 lines of JS, no external dependencies.
100
Paul Conroy @conroyp.bsky.social · 29/03/2026
On calls Google Meet doesn't let you share a region of your screen - only a full window or tab. Every time you want to show one panel of an app - a design preview, a dashboard widget, a chat thread - you end up showing everything around it too. This can lead to over-sharing!
110
Paul Conroy @conroyp.bsky.social · 05/02/2026
Only 2 weeks until this year's @phpukconference.bsky.social! My talk will be the story behind #wdydy site EverythingIsShowbiz.com - a side project that started as "search podcast transcripts" and spiralled into the good, bad, and ridiculous world of AI-assisted development in PHP. #php #phpuk
100
Paul Conroy @conroyp.bsky.social · 01/12/2025
This year's "52 things I learned list" from Tom Whitwell is a great one. Tax evasion via snail farming, Apple insulting Korean manhood, the Taiwanese receipt lottery, and Marchetti's constant - lots of super trivia in there! medium.com/@tomwhitwell...
000
Paul Conroy @conroyp.bsky.social · 22/11/2025
So we turn to bookmarklets - an older tool, fallen out of favour in recent years. A tiny snippet of JavaScript saved as a browser bookmark - click it, a custom UI appears, set any speed you want, done. A nice bonus of YouTube being an SPA is that settings stick between videos!
100
Paul Conroy @conroyp.bsky.social · 22/11/2025
Fortunately, the underlying video element still listens. Pop open the console and run: document.getElementsByTagName("video")[0].playbackRate = 2.5 ...and boom, instant speed-up to 2.5x, or whatever speed you like. But nobody wants to open DevTools on *every* video.
100
Paul Conroy @conroyp.bsky.social · 22/11/2025
When I’m watching longer YouTube videos, I usually bump the speed up to 2× or 3×. Recently though, YouTube’s UI has gotten a tad erratic. Some videos have the full speed menu. Others only show the menu, but stick at 1x with no way to change it.
210
Paul Conroy @conroyp.bsky.social · 04/11/2025
Over the past couple of months, "Average Position" in Google Search Console has shot up across loads of sites. Normally great news! Except impressions and clicks are often down. 🤔 So what's going on under the hood here?
100
Paul Conroy @conroyp.bsky.social · 16/10/2025
LinkedIn have taken to sending notifications warning you of notifications you may have missed. Potentially useful! In practice, not so much. They're not warning of useful ones (connection requests, post responses), but "person you don't know is playing game Y/posting in group Z you're not in" etc.
100
Paul Conroy @conroyp.bsky.social · 15/10/2025
I'm excited to be speaking at Build Stuff in Vilnius this December! "Digital Cat & Mouse: Strategies to Outsmart Phishers, Scrapers, and Thieves" covers the (mis-)adventures that taught me how to protect digital assets in the wild (selling 10 Downing St, moving the Eiffel Tower to Dublin, and more)
100
Paul Conroy @conroyp.bsky.social · 29/08/2025
The latest example of this time wasting nonsense - apparently the badge worn by the police service of Northern Ireland is actually private content generated by an onlyfans creator. Whoever is selling the Venus Group & co their image rec tech is getting money for old rope here, absolute garbage.
010
Paul Conroy @conroyp.bsky.social · 27/08/2025
The DMCA requires “good faith” belief in a claim. But when bots are filing at scale, there’s no faith involved - no human in the loop, no sanity check. One of these services managed to DMCA their own admin tool. Doesn't seem like that happens when you've got any real oversight.
110
Paul Conroy @conroyp.bsky.social · 27/08/2025
Because they automate everything, there’s no marginal cost to them for flooding Google with claims. But every bad claim creates real work for publishers. These firms are filing huge numbers of claims (Lumen result total stops counting once it hits 10k)
130
Paul Conroy @conroyp.bsky.social · 27/08/2025
The image recognition in these tools is... not great. Unless there’s a particularly spicy angle to this statue that I'm just not seeing, it's unlikely that we’ve ripped off OnlyFans here. Same with the distillery - nice photo, but the odds of it legitimately being paywalled content? Low.
100
Paul Conroy @conroyp.bsky.social · 27/08/2025
So why are statues & road signs getting flagged as stolen from OnlyFans creators? DMCA bots are to blame. Companies like Takedowns AI or Venus Takedowns use AI to scan for leaked paywalled content and auto-file takedown requests. Good idea in theory. In practice? Not so much.
111
Paul Conroy @conroyp.bsky.social · 27/08/2025
Lately, Google’s been hitting us regularly with copyright violation notices. The alleged crimes? Posting photos like... a traffic sign, a Dublin statue, and some houses under construction. Apparently we stole them from OnlyFans creators.
110
Paul Conroy @conroyp.bsky.social · 04/08/2025
I’m excited to share that I’ll be speaking at the International PHP Conference Munich @phpconference.bsky.social 2025! 📅 October 27–31, 2025 | 📍 Munich, Germany 🗣 Topic: Modern PHP Features You’re Probably Not Using (But Should Be) 🔗 Details: phpconference.com/php-core-cod...
120
Paul Conroy @conroyp.bsky.social · 06/07/2025
Gary Neville was ahead of his time
000
Paul Conroy @conroyp.bsky.social · 21/04/2025
Aer Lingus has announced a lot of new routes to the States. I suspect this particular plane won't be the first choice to make the transatlantic trips though.
Airplane with registration EI-DEI
000
Paul Conroy @conroyp.bsky.social · 08/04/2025
DNS entries are complex, and need to be read super-quickly. So I thought why not use a payment processor's simple key-value store to save the data? But does it work? Kind of! There are a number of limitations, but it's been a useful way to explore the limits of metadata, and write-then-read flows.
100
Paul Conroy @conroyp.bsky.social · 08/04/2025
🌐 Stripe Is My DNS Provider Now (or "When Good APIs Meet Bad Ideas") Inspired by @quinnypig.com's famous post about Route 53 being a database, I wondered what's the opposite? If DNS can be a db, what's the most absurd way to implement a DNS server? By building it using Stripe metadata, obviously!
110
Paul Conroy @conroyp.bsky.social · 29/01/2025
🎉 Excited to announce that I've been accepted to speak at the Dutch PHP Conference in Amsterdam on March 21st! 🌐 I'll be giving a talk on idempotency – what it is, why it’s so useful, and how big players like Stripe and AWS leverage it in production. 🎟️ On sale now: egeniq.paydro.com/dpc-2025
120
Paul Conroy @conroyp.bsky.social · 27/01/2025
It's something I've talked about a lot with our team, but could never re-find the original post to point at. So I was very happy to see @destraynor.bsky.social publish the below on the same theme - The different types of people you work with destraynor.com/writing/2025...
000
Paul Conroy @conroyp.bsky.social · 13/12/2024
It uses a smaller 6x6 grid, and emojis in theme packs to spark kids' imaginations. The app is mobile-friendly and can also be installed directly to a device's home screen for easy access. If you've a young puzzler in your house, give it a go, and let me know your thoughts! www.kidssudoku.com
010