Most AI detectors are black boxes that spit out a number. I built one that shows you the evidence, runs entirely in your browser, and treats Spanish as a first-class language.
▶ Try the live demo — English & Spanish, 100% in your browser. No signup, and nothing leaves your device.Most AI detectors are black boxes. You paste a paragraph, a number comes back ("87% AI") and you're supposed to trust it. A teacher can't act on that. A writer can't learn from it. And if you wrote in Spanish, the number is often worse than a coin flip.
So I built the opposite. It's called SignsOfAI, it's free, it runs 100% in your browser, and for every signal it flags it tells you what the tell is and how to fix it.
This is the story of how it works and the decisions behind it.

Two things bothered me about the detectors everyone links to.
First, they hide their reasoning. A percentage is not evidence. If a student is accused of using AI, "the tool said 87%" is not something you can defend, appeal, or learn from. The number feels precise and objective. It is neither.
Second, they think in English. The research, the training data, the tells: all English. Spanish gets a machine translation of English rules, which misses how AI actually sounds in Spanish: "sumérgete en el vasto mundo de", "cabe destacar que", "no solo… sino también". Half the planet writes in something other than English, and the tools treat that half as an afterthought.
I wanted a tool that was explainable, actionable, and bilingual, and that never pretended to be a lie detector.
SignsOfAI does two jobs.
1. It lints writing for the tells of AI. Paste, upload a .docx, or just start typing. As you write, it scores the text 0–100 and highlights the signals in four families:
delve, tapestry, multifaceted, underscore, leverage. Each word is weighted by how much more common it became after ChatGPT shipped. delve alone is about 48× more frequent now.Every flag carries a concrete fix and the reason behind it. It's a linter, not a verdict.

2. It checks originality. Drop in two or more documents (a thesis and its sources, or a whole class's submissions) and it highlights the passages they share: verbatim copies, and reworded paraphrases, even across languages. The number you see equals exactly what's highlighted. The evidence is the score. A human judges; the tool never accuses.

Here's the tell that's hardest to fake and easiest to measure. Humans write with wildly uneven rhythm. A long, winding sentence with three clauses and an aside, then a short one. Then a fragment. Machines don't. Left alone, an LLM settles into a steady 15–25 words per sentence and holds it, paragraph after paragraph.
You can quantify that as burstiness: the coefficient of variation of sentence length. Human prose usually scores 0.6–0.8. Default LLM output sits at 0.0–0.2. It needs no word list and no model; it's just statistics on sentence lengths. SignsOfAI computes it, shows it as a per-sentence bar chart, and folds it into the score.
By the way: I ran this article through its own linter. It scores 35/100. Light signs. Most of the hits are the slop words the text quotes at you,delveandtapestryamong them, and burstiness lands at 0.83, comfortably inside human range. The tool showed me where I was drifting and I fixed it. A percentage can't do that.
I didn't train a classifier. That was deliberate.
A rules-and-statistics engine is explainable by construction. When it flags delve, it can tell you delve, show you where, and hand you three replacements. A neural net gives you a probability and a shrug. For a tool whose whole promise is "show your work," transparency beats a couple of points of accuracy.
It also means the whole thing runs in the browser. No server, no upload, no account. Your documents never leave your device. That matters a lot when the documents are student essays or an unpublished manuscript. The engine is a small, pure .NET library (SignsOfAI.Core); the site is Blazor WebAssembly on .NET 10.
The Spanish rule-pack isn't translated. I derived it from scratch, because the tells are different. English AI loves delve and tapestry; Spanish AI loves sumérgete, cabe destacar, un rico tapiz de, se erige como. The rhetorical patterns rhyme across languages but the words don't. Language is auto-detected, and both packs carry the same weights, severities, and evidence.
This is the part no English-only tool can copy by translating a word list.
A while after launch, I found a project called no-ai-slop, a viral little skill for editing AI writing, thousands of stars. My first reaction was the honest one: they have thousands, I have three.
Then I looked closer. It's a single Markdown file of rules. English only. No score, no statistics, no originality check. It went viral because it was frictionless and rode the "agent skills" wave, not because it was doing something my engine couldn't.
So I didn't compete. I mined its taxonomy, 20-odd patterns of AI writing, and folded them into my rule packs (bilingual, weighted, with evidence), added an em-dash-overuse detector, and shipped my own drop-in skill, /signs-of-ai, that does the same fast edit but hands off to the real engine for a measured verdict. Same wave. Better boat.
The lesson: when someone's format is winning, you don't need their format. You need their taxonomy and a stronger foundation underneath.
SignsOfAI is MIT-licensed and built for the education and .NET communities.
dotnet tool install --global SignsOfAI.Cli then signsofai check draft.md — gate prose in CI with --max-score./signs-of-ai into your editor.If you teach, write, or grade, or you just want your own prose to stop sounding like a machine, give it a paragraph and see what it says. And if you find a tell it misses, the rule packs are two JSON files. Pull requests welcome.