All insights
Go to the actual place and see the actual thing
Somewhere in a Toyota plant in the early 1950s, a young engineer stood inside a chalk circle drawn on the factory floor. Taiichi Ohno, the architect of the Toyota Production System, had put him there with a single instruction. Watch. No clipboard, no agenda, just observe what ha… Continue reading
-
Climbing the Claude ladder: from prompting to orchestrating
Most people using Claude are stuck on the first rung of a very tall ladder. They open a chat, type a question, get an answer, and move on with their day. Which is fine, but it’s a bit like buying a full workshop and only using the tape measure. I’ve spent the better part of a y…
-
The path to an agent-first web
For three decades, the web has operated on an implicit contract between the people who build websites and the people who visit them. You design pages for human eyes and organise information for human brains, monetising attention through ads, upsells, and sticky navigation patter…
-
Generative engine optimisation: separating sound practice from snake oil
A new three-letter acronym is stalking the marketing industry. Generative Engine Optimisation (GEO) is the practice of making your content visible in AI-generated answers, such as those produced by ChatGPT, Perplexity, Google AI Overviews, and Claude. The term was coined in a 20…
-
Automating your marketing 01: Paid Search Ads
Google has always wanted you to believe that running search ads is simple and not as complex as it actually is. Set a budget (a generous one!), choose some keywords, and let the machine handle the rest. To be fair, the machine has become exceptionally good at certain aspects of …
-
Why AI models hallucinate
In September 2025, OpenAI published a paper that said something the AI industry already suspected but hadn’t quite articulated. The paper, “Why Language Models Hallucinate”, authored by Adam Tauman Kalai, Ofir Nachum, Santosh Vempala, and Edwin Zhang, didn’t just catalogue the p…
-
Received wisdom: classic frameworks under AI pressure 01: David C Baker
David C Baker has spent thirty years telling agency owners something they already suspected but lacked the courage to act on. You are not expensive enough, not focused enough in what you do. You are not sufficiently authoritative with your clients. The issue is not your work. Th…
-
The trust problem that you already solved
Every developer who has spent time with AI coding tools carries the same low-grade anxiety. You ask the model to build something, it hands you back a file, and then you stare at it like a customs inspector wondering whether the suitcase has a false bottom. Line by line, function…
-
Received wisdom: classic frameworks under AI pressure 02: Crabtree's LER
What happens to the labour efficiency ratio when labour isn’t the bottleneck? Greg Crabtree has spent decades telling agency owners something they did not want to hear. Your business is not a creative enterprise with a financial problem. It is a labour arbitrage operation with …
-
The production agent stack for sensitive environments: a field guide for 2026
What to actually deploy when mistakes carry consequences, and what to skip when they don’t. The agent era has diversified its tooling. Eighteen months ago, most teams assembled whatever tools worked and hoped for the best. That approach was acceptable when agents only drafted e…
-
Yes, the models got dumber
In March 2023, GPT-4 could identify prime numbers with 97.6% accuracy. By June, that figure had cratered to 2.4%. Not a rounding error, not a minor regression, but a 95-point collapse on the same task with the same prompts. If a bridge lost 95% of its load-bearing capacity in th…
-
The sunk cost of being good at something
There is a particular conversational move that has become common in discussions about AI. Someone demonstrates a new capability, shares a use case, or describes how their workflow has changed, and a familiar response arrives. What about security? What about governance? What abou…
-
The flatness of the machine
You can feel it before you can name it. A paragraph arrives, fluent and frictionless, and something in the back of your reading brain flinches. The sentences are grammatically flawless, the structure orderly, the tone warm but not too warm, authoritative but not too authoritativ…
-
Meta and Stripe want you to buy things from ads again
Meta and Stripe announced this week that they have built a native checkout experience inside Facebook ads, powered by Stripe’s infrastructure and the buyer’s saved Meta wallet credentials. A user sees an ad, taps “Buy now,” and purchases the item without leaving Facebook. If you…
-
Meta’s GEM: what the largest ads foundation model means for your marketing
Meta has been quietly building something significant. Most marketers haven’t fully grasped the importance because it has been wrapped in machine learning jargon and engineering blog posts. The Generative Ads Recommendation Model, which Meta calls GEM, is the largest foundation …
-
The narrow window for probabilistic agents
You can see the exact moment it goes wrong. The CIO sits through a vendor demo, watches an “AI agent” process a support ticket, look up an order, apply a returns policy, issue a refund, and send a confirmation email. It is slick, fast, and in every meaningful way, a workflow aut…
-
Your org chart is not your AI strategy
If you’ve spent any time in enterprise technology over the past two decades, you’ll recognise the pattern immediately. A new category of tool emerges. Employees start using it because it makes their working lives easier. IT discovers this unsanctioned adoption, panics about secu…
-
Software was never meant to last forever
There is a particular kind of frustration that anyone who has worked inside a mid-sized organisation will recognise. You are eighteen months into a Salesforce implementation. The original scope was clean and reasonable. But somewhere around month four, somebody realised that you…
-
The machine that improves the machine
In May 2025, Google DeepMind released AlphaEvolve, an AI system that discovers better algorithms by evolving code through thousands of iterations. Within months, it had already optimised parts of Google’s data centre operations, improved hardware chip designs, and, most tellingl…
-
The vibe coding spectrum: from weekend hacks to the dark factory
A year ago, Andrej Karpathy posted a tweet that would come to define how an entire industry talks about itself. “There’s a new kind of coding I call ‘vibe coding,’” he wrote, “where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.” He d…
-
A $10K Mac Studio won't replace your API bill
Caveat: this article contains a detailed examination of the state of open source/ weight AI technology that is accurate as of February 2026. Things move fast. I don’t make a habit of writing about wonky AI takes on social media, for obvious reasons. However, a post from an AI s…
-
Claude Opus 4.6 just shipped agent teams. But can you trust them?
Anthropic shipped Claude Opus 4.6 this week. The headline features are strong: a 1M token context window (a first for Opus models), 128K output tokens, adaptive thinking that adjusts reasoning depth to the task, and top-of-the-table benchmark scores across coding, finance, and l…
-
Out of context: strategies for managing agent memory
The ongoing contest in AI technology—a “strange arms race”—is the relentless expansion of the context window, which is the maximum input size for a large language model. This arms race is driven by the persistent notion that a larger context equals greater intelligence and capab…
-
Escaping prototype purgatory: where is AWS for AI agents?
This question has been running around my brain for a while, driven by two factors. First, building robust, production-ready enterprise agents that can handle scale, complexity and security is hard and complicated. Second, what if we could kind of abstract away all of that comple…
-
The Hot Mess: large AI models and the scaling mirage
There is a chart circulating among machine-learning circles that, depending on your outlook, will either alarm you or confirm something you have long suspected about the computers that are, at this point, writing our code, summarising our meetings, and helping decide who gets ba…
-
Tooling around: letting agents do stuff is hard
There is a messy reality of giving AI agents tools to work with. This is particularly true given that the Model Control Protocol (MCP) has become the default way to connect AI models to external tools. This has happened faster than anyone expected, and faster than the security a…
-
Building a simple agent with Claude
This article covers how to build a simple AI agent using Claude, using a hypothetical sales function as a worked example. A sales team does not need a fully autonomous agent that orchestrates twelve tools and makes decisions about deal strategy. What it needs, at first, is a th…
-
How Claude Code and Cowork talk to your other systems
Anthropic’s products have become the most aggressive movers in the race to connect AI to the messy sprawl of software that runs modern businesses. Claude Code talks to GitHub, Sentry, Postgres, and Jira. Cowork reads your local files, pulls data from your CRM, and drafts message…
-
Security for production AI agents in 2026
Note: This article represents the state of the art as of January 2026. The field evolves rapidly. Validate specific implementations against current documentation. This article is for anyone building, deploying, or managing AI-powered systems. Whether you’re a technical leader e…
-
In the jungle: a reality check on AI agents
One of my all-time favourite films is Francis Ford Coppola’s Apocalypse Now. The making of the film, however, was a carnival of catastrophe, itself captured in the excellent documentary Hearts of Darkness: A Filmmaker’s Apocalypse. There’s a quote from the embattled director tha…
-
AI governance: between the committee and the catastrophe
Every large organisation deploying AI currently faces two failure modes. Moving too slowly by requiring extensive committee approvals and detailed risk assessments causes the technology to become outdated before it can deliver results. Conversely, moving too quickly by allowing …
-
AI slop: psychology, history, and the problem of the ersatz
In 2025, the term “slop” emerged as the dominant descriptor for low-quality AI-generated output. It has quickly joined our shared lexicon, and Merriam-Webster’s human editors chose it as their Word of the Year. As a techno-optimist, I am at worst ambivalent about AI outputs, so…
-
Why AI agents keep forgetting things, and the race to fix it
Ask ChatGPT something on Monday and return on Wednesday, and it will greet you with the warmth of a stranger. It has no recollection of your project, preferences, or the three hours you spent refining a prompt together. This amnesia is not a flaw in the traditional sense but a c…
-
The missiles are the destination
One of my uncommon enjoyments is the work that happens right in the middle of a big problem that needs to be solved, or even a nosedive. A calmness kicks in, the path gets clearer and I can usually tunnel vision my way through to course correction. I used to think this was spec…
-
Fall back
What creative studios and dev shops (and probably everyone else, too) need to do to stay relevant in the AI era without becoming commoditized slop. What’s covered: Your people are your moat · Easy to do, hard to be the best · Quality and simplicity · Never look to others · Don…
-
On getting paid faster
These five cashflow levers are arguably the quickest, easiest wins when optimizing your service business. Frequency of online payment deposits Update your online payment system to deposit into your bank account daily instead of weekly. Or whatever the quickest interval availab…
-
Reading between the lines
There’s a lot to learn in a professional services business between the day you open your doors and the day you sell or retire or whatever it is you do next. And there are a million different angles you can take to improve the future based on the past. Here is a line graph of my…
-
The stuff between
Simply put, your service business in its most raw form look something like this: Stuff → Lead; Lead → stuff → Signed contract; Signed contract → stuff → Start; Start → stuff → Complete; Complete → stuff → Aftercare. And there’s a level of automation and organizatio…
-
Zero busy work
AI has given us a lot of things. When used incorrectly, your brain turns to mush. When used correctly, it frees you to be original, strategic and creative. Something I’ve been thinking a lot about lately is the idea of zero busy work. This isn’t just about productivity, but abo…
-
Weeknotes vol. 16: Where have all the weeknotes gone?
I’ve been called out more times than not over the last few months about breaking my weeknotes streak. After selling Good Work my master plan has always been to turn work into a mix of: create interesting things, consulting for others doing interesting things, and acquire pre-ex…
-
Principles and systems to optimize your service business
One of the greatest challenges in starting and owning a service business is the shift from doing the work to building the business that does the work, and then optimizing that business to be better than everyone else doing similar work. In December of last year I sold the web d…
-
Weeknotes vol. 15: Professional admin dashboard maker and Mac app polisher
It was another short summer week but I was able to get quite a bit done. I spent the entirety of Monday turning my garage into a work of art, but Tuesday through Thursday was all about Braindrop. Until this week the production database has been a bit of a black hole and I neede…
-
Weeknotes vol. 14: More pool, less computer
There was a lot of play this week and not a lot of work, but I still got some stuff done. #summer There are a few ultra early beta testers for Braindrop, and, thanks to Matt, our test suite grew a little bit. We’re up to 42 tests (14 model, 13 controller, 3 jobs and 12 service …
-
Weeknotes vol. 13: May the thirtieth be with you
This week I reached the part of making stuff where all of the sudden you don’t have much to do. Aside from spending a few more days in polish-town, shipping is upon us for Braindrop for Mac beta. Here, have yourself another teaser: A screenshot of the Braindrop welcome s…
-
Weeknotes vol. 12: Teaser site, settings screens and new ideas
I got sucked in by the last week of school activities, so not a lot to report other than end-of-year parties and swimming and grilling and swimming. We launched a teaser website for Braindrop on Tuesday so that people can sign-up to become beta testers once we’re ready. It’s Ph…
-
Weeknotes vol. 11: “Basically done.”
Another week! Lets see what happened, shall we? Phil and I started the week with a Braindrop strategy meeting to revisit the scope of work and what comes in what phase, etc. Braindrop for Mac is ‘basically done’, and if you make stuff on the computer then you know what that me…
-
Weeknotes vol. 10: Back in the CSSaddle
This week I got to jump into CSS again (not just prototype stuff but production stuff). Which for me is kind of like eating a cheeseburger. My focus the last 6 months has been in Rails development, though my speciality is front-end (as in the original definition of front-end). …
-
Weeknotes vol. 9: Micro-apps and nursery rhymes on Rails
I skipped this week due to dad duties, and Phil’s off traveling the world, but there was still some activity worth noting. A couple of weeks ago I talked to Christoph about a simple journaling idea I sketched out back in 2017 which will be our first of many micro-apps to releas…
-
Weeknotes vol. 8: Active Storage and shipping baby no. 6
I had two (big) tasks this week (which as per usual I’m writing after the fact): Get file uploads integrated into the app with Active Storage Bring my beautiful wife to the hospital on Friday to ship baby no. 6 I’ll stick to the nerdy stuff for this post though. There’s…
-
Weeknotes vol 7: Here ye here ye, Braindrop hath reached 100 commits
Another week down the hatch. As I said last week, we made big progress on the Web/Mac app design, and I wanted to get the prototype updated as soon as possible so that we could interact with the design decisions and make future desisions from there. So, I spent most of the week…
-
Weeknotes vol. 6: Web and hybrid and native, oh my!
(It’s Tuesday but I’m pretending it’s last Friday.) I’ve gone back and forth on Native v.s. Web v.s. Hybrid v.s. Native v.s. ∞ quite a bit. There are pros and cons to all of the options, but, for the initial launch, I have officially landed on the following: Web app (Rails,…
-
Weeknotes vol. 5: A month of cool stuff, a listicle
As of yesterday I’m officially a month into this new venture. I remember when Good Work grew to the size that we were getting more done in a month than I did in the first year, which is a good light at the end of the tunnel that the effort done in the last month at Better Than …
-
Weeknotes vol. 4: Coding like it’s the 80s (with stickers)
This week saw major progress with both the web based application and the marketing website. Granted, I did find the Code Like It’s the 80s playlist by JetBrains on Spotify which has been quite the productivity booster. Making thought capturing as simple as it can be while ensur…
-
Weeknotes vol. 3: 404, Chunk not found
It was a short week at Better Than Good HQ but we packed in as much as we could. We moved both design and development down the field a bit, which sometimes is all you can ask for! Delegated types v.s. single table inheritance I started noticing quite a bit of overlap in Braind…
-
The road to Braindrop
I spent the majority of 2024 considering my next chapter. Alongside the team at Good Work I’d spent the previous 10 years starting, running and optimizing the company into a well oiled machine. For the last few years, it simply ‘just worked’. There’s a lot of chatter about how…
-
Weeknotes vol. 2: In the rabbit holes we find marketing goals
I remember when I started seeing weeknotes pop up and thought they were silly, but the accountability alone is worth it. This week I found myself writing out big things I needed to do (not saying that I did them) for the sheer fact that I had to put them on the internet in five …
-
Weeknotes vol. 1: The
endbeginning of an eraThis was a big week and a good one to start doing weeknotes. I moved into a cozy new office that’s much closer to the house than the one I had downtown. It came with a standing desk, too, so I’m all tech’d up and ready to go. Phil and Leon had been working on the Better Than G…
-
Hello, world!
It’s been a while since I sat behind the wheel of a fresh new website. The last first blog post I wrote was in 2014 shortly after starting Good Work, the web development agency that I started and ran for over 10 years. Before that was Erskine Design and before that was a web de…