Thoughts on AI watermarking

Claude is now watermarking its text outputs using a statistical token-choice watermark. According to what the AI told me, when generating the next token, it often has a choice between options that have similar meaning. It applies a statistical bias for some words at certain places over other words, which it’s able to identify over a text that’s long enough. Going over a paragraph, it can see if these equal-meaning words match the formula. Even if you change a word or rewrite a sentence, the watermark will persist in all the other words and sentences. It’s not hiding in the em-dashes and single quotes.

I have mixed feelings about this.

One of the ways I use AI for written text is for grammatical improvements. Last thing I want is AI claiming that my text is AI-generated just because it fixed grammar. I also use it to translate my Goodreads reviews, which I usually write and publish in Bulgarian first, and then translate, expand, and share here in English. The act of auto-translation doesn’t make the text AI. So, I very much don’t want AI to claim ownership over texts and experiences that are my own. Not that it matters all that much, but I still would rather not have these watermarks anywhere.

On the other hand, the AI content has expanded so much that it’s very difficult to distinguish a good-quality human text from AI slop. Many of the YouTube videos by popular influencers watched over the last month felt like a real human is reading from a slop script. For reasons I have difficulties specifying, I would like zero percent exposure to AI slop during free time. I don’t want to read AI books (increasingly prevalent), I don’t want to watch AI slop influencers, AI slop animation. I don’t even want CGI anymore.

I’ve mentally accepted that AI belongs to certain spaces, like work automation and coding, but doesn’t belong to others, like personal life. I’m not willing to succumb to the vision that AI should see and hear everything I do, remember it, and then use it. This vision feels like people with Meta glasses in a public bathroom.

And every conversation you’ve ever had in your life, every book you’ve ever read, every email you’ve ever read, everything you’ve ever looked at is in there, plus connected to all your data from other sources. And your life just keeps appending to the context

— Sam Altman, source

And I’m mixing the subjects a bit here but if AI is going to watermark its improvements to my blog posts, there will be no AI improvements here, and you’ll be stuck with bad grammar and other signs of character 🙂

Building Landing Pages with AI

We had a special month at Automattic that ended last Friday. For a full month, we could form groups of two people and work on whatever we liked, as long as we are in a pair.

I chose 4 projects and ended up working on 3 of them, discarding the 4th – couldn’t get to it. First was the new Writing Prompts, which was relatively low-tech (on the surface) but pretty cool. Seeing people respond to blogging prompts that were my idea is melting my soul.

The second project was around building a way to assemble good looking landing pages with AI quickly.

A landing page on WordPress.com is a page that tells a story, highlights a feature, or shows something so it’s discoverable. For example, a colleague runs a program that gives paid plans to students. Another wants to show how WordPress.com compares to a competitor. They write content, the content is then designed, and then the design is turned to an actual page by an engineer.

Landing pages

My team is sometimes responsible for the implementation of these. I didn’t like this type of front-end work and avoided it. A few months ago, we were in a situation in which the demand for new landing pages was high, and the resources for implementing them low, so I was “shoot, if I have to make these, let’s at least offload as much possible to AI”. The first round resulted into something like a vibe-coding flow, the benefit of which was that the work moved from the WordPress editor to Claude Code. But it was still too technical, and required a design (usually in the shape of a Figma document).

My colleague Jordan Hiller came up with the idea to give sense to Claude Code by providing it with a library of pre-designed, ready to use, empty sections that can be filled with text and images, depending on the needs. The technology behind it is Gutenberg Block Patterns. They’ve been around for awhile and can also be used from the editor or the wp cli. However, we expect the usage through a Claude skill to be the primary way to use this work because it doesn’t require expertise when making more advanced tweaks.

It’s an internal tool project. Something to make our lives easier, replace an annoying process with a faster one. The faster process lets you maintain the pages better, update more frequently, apply best practices sooner. Essentially, do more and stay on top of the change requests or avoid them altogether by letting the person who requests the change do it on their own.

Is that going to result into anything you’ll notice? Probably not. But if we’ve done our job well, the new landing pages will be built and updated faster, will load faster, and the colleagues who come up with the content will take the control from engineering.

Opus

Claude Opus is my current most favorite model. I had a few blissful months of using it. Generated some good PRs, got stuck in debug loops not as many times as with previous models. I ended up extending the spend limit multiple times.

Opus Cocktail Bar, Sofia

After burning through far too many tokens, I had to stop and think. Is my usage really appropriate? Is it worth thinking how much tokens each prompt consumes? Is it because of the MCPs? Why does it make all these API calls to my dev server? How much does all of that even cost? It’s not clear from the dashboard at all.

While I’m rethinking my life’s choices, I switched to Codex and GPT 5.2. I feel like between the 4 AI editors that I have, I may have enough agent time available to last until the end of the billing period.

Being stuck with one option is not ideal. The situation is not like I have to write code without agents but my overuse of Opus is giving me a glimpse into a future where these models may start costing as much as people.