I’ve just published the most simple and inelegant piece of software of my life, a god damned counter. It’s available on Chrome and Firefox.

I love reading engineering blog posts. It’s cool seeing what other people are building. Sometimes you run into posts that nearly mirror your descent into madness, but don’t worry, I’ve mostly recovered.

This technical and sometimes personal type of writing is fulfilling for me to read. Time is a finite resource that both myself and the writers spend in this type of interaction. It pisses me off when I’ve spent my time reading a low-effort, AI-generated post, when it could have been spent on someone who put intent into their work. That’s why I created this browser extension. I have a small number on the screen to help me make the judgement of whether something is worth the time. It’s not full proof, but it will help detect when someone hasn’t even bothered to include “don’t use em dashes” in their prompt:

I’m not going to kid myself that I’ll always know if a piece of text is AI-generated or not. Sometimes I’ll get it wrong, and enjoy reading the post. The em dash usage of the above post didn’t register until a friend pointed it out.

The first thing people say about this idea is to add more types of pattern recognition, such as certain words AI likes to use, or phrases like:

  • “No X, no Y, just Z”
  • “No X, just Y, [insert some punchy statement]”

I like the idea of using relatively inexpensive analysis in the browser to combat this type of writing, but I would make it a separate extension. As soon as you add this complexity, you need a detailed report, then you need policy to turn that report into a score. What is that number supposed to mean?

This is the exact same issue I have with the “fight fire with fire” solutions that seemingly use LLMs to detect AI-generated text. You get an opaque confidence score. I guess the idea is you get used to the tool and how to use the score to make judgements, but the inexactness of that just gives me a pit in my chest thinking about it.

With this extension the number you see means something: It’s the count of em dashes. Sometimes humans really like them, and that’s fine. Let your eyes stray to the counter when the vibes are off. Maybe the writing is a bit too punchy, there’s low information density, or there’s no character to the writing style. You decide if it’s time to eject.