
New Chrome extension helps detect assignment AI use
How one developer built a Chrome extension to detect AI-written student assignments, the technical choices made, and what the numbers revealed. 2026 case study.
TL;DR
- A new Chrome extension flags likely AI-generated student assignment text directly inside the browser, without a separate app.
- The tool runs detection heuristics locally, keeping student data off third-party servers during the analysis pass.
- Early classroom pilots surfaced a surprise: false positives on non-native English writers were the hardest problem to solve.
New Chrome extension helps detect assignment AI use
The arms race between students using AI and teachers trying to spot it has been running since late 2022. Most detection tools live on standalone websites: a teacher copies and pastes text, clicks a button, waits for a score. It works, but the friction is real. Teachers are already inside Google Docs, Canvas, or a school LMS when they're reading work. Leaving that context, opening a new tab, pasting, interpreting a score, and coming back adds enough steps that many skip it entirely.
That's the gap one developer set out to close.
The setup
The developer, a former classroom teacher turned software engineer, watched colleagues abandon AI detection after a few weeks because the workflow was too clunky. The promise of a browser extension was obvious: stay inside the tool teachers already use, surface a signal without a context switch.
The goal wasn't to build a perfect lie detector. It was to build something that fit naturally into an existing grading workflow and gave teachers a starting point for a conversation, not a verdict.
The timing mattered too. By early 2026, school districts were under pressure from administrators to have some kind of AI-use policy in place, but most lacked tooling that classroom teachers could actually operate. A lightweight Chrome extension, installable in 30 seconds, was a much easier sell to an IT department than a new SaaS platform requiring SSO integration and a procurement cycle.
What they shipped
The extension adds a small overlay to any text field or document view the teacher is reading. When activated, it runs a local analysis pass on the selected text and returns a probability score alongside a handful of signals: sentence-length variance, lexical diversity, perplexity estimates derived from a compressed n-gram model bundled with the extension, and a flag for certain stylistic patterns that large language models produce at higher rates than human writers.
The n-gram model is the interesting architectural choice. Rather than sending text to an external API for scoring (which raises obvious FERPA and GDPR questions for student data), the developer bundled a stripped-down statistical model directly into the extension package. The model is small enough to ship inside the Chrome Web Store's size limits and runs entirely in the browser via a Web Worker, so no student text ever leaves the device during the analysis step.
The UI is deliberately minimal. A sidebar panel shows the score as a simple gauge, not a percentage, because the developer found in early testing that a specific number like "84% AI-generated" caused teachers to treat it as a definitive answer. A gauge with a color band communicates uncertainty more honestly.
The extension also logs which documents a teacher has analyzed, locally, so they can revisit flags later without re-running the analysis.
What worked
Three things landed well in the pilot classrooms.
First, the zero-context-switch workflow. Teachers reported running the check as a natural part of reading, the same way they'd highlight a suspicious sentence. The extension didn't ask them to stop what they were doing.
Second, the local processing story. When the developer presented the tool to a district IT coordinator, the first question was "where does the student text go?" Being able to answer "nowhere, it stays in the browser" shortened the approval conversation significantly. Privacy-first architecture wasn't just an ethical choice; it was a sales argument.
Third, the gauge versus percentage decision. After switching from a numeric score to a visual range indicator, the developer tracked how teachers described the tool in feedback forms. References to it as "proof" dropped. References to it as "a flag to investigate" increased. A small UI change shifted how people interpreted the output, which reduced the risk of a teacher acting on a false positive without further inquiry.
What didn't
The hardest problem turned out to be one the developer had anticipated but underestimated: false positives on writing from students whose first language isn't English.
Non-native English writers often produce text with lower lexical diversity, more regular sentence structures, and phrasing patterns that overlap with common LLM output. The n-gram model, trained primarily on English-language corpora, had no reliable way to distinguish "this sounds like a language model" from "this sounds like a careful second-language writer trying to be grammatically correct."
In one pilot school where roughly 40% of students were English language learners, the false positive rate was high enough that teachers stopped trusting the tool entirely after two weeks. That's the worst outcome: a tool that erodes trust faster than it builds it.
The developer's response was to add a language-learner context toggle. When enabled, the model adjusts its thresholds and surfaces a note reminding the teacher that the population context affects interpretation. It's not a perfect fix. The underlying model still has the same blind spots. But it changes the framing enough that teachers in the pilot reported feeling less likely to act on a score without additional context.
A second friction point was the Chrome Web Store review queue. The extension sat in review for 19 days on its first submission, flagged for a policy question about the Web Worker's network access declarations. The developer resolved it by tightening the host_permissions manifest entries and resubmitting, but nearly three weeks of delay at launch is a real cost for a solo developer.
Lessons for other devs
- Local processing is a feature, not a constraint. If your extension touches sensitive data, the ability to say "it never leaves the browser" opens doors that cloud-processing tools can't. Design for it from day one.
- Visualize uncertainty, not false precision. A gauge or a range communicates what a percentage doesn't: that the tool is a signal, not a verdict. This matters especially when the stakes for a wrong answer are high.
- Know your user population before you train or tune your model. A model that works well on one demographic can actively mislead on another. Pilot with the actual population, not a convenience sample.
- Chrome Web Store review timelines are unpredictable. Build buffer into any launch plan. 19 days is not unusual for a first submission with a Web Worker or broad host permissions.
- A conversation starter beats a conclusion. The most effective framing for this kind of tool is "here's something worth looking at," not "here's the answer." Teachers who understood that kept using it. Teachers who expected certainty didn't.
FAQ
Q: Does the extension send student text to any external server? A: No. The analysis runs entirely inside the browser using a Web Worker and a locally bundled statistical model. Student text doesn't leave the device during the detection pass.
Q: How accurate is AI detection in a classroom setting? A: Accuracy varies significantly by student population. The developer's pilots showed higher false positive rates among English language learners, which led to the addition of a context toggle to adjust model thresholds for those classrooms.
Q: Why build this as a Chrome extension rather than a standalone web app? A: The core insight was workflow fit. Teachers are already inside the document or LMS when they're reading student work. An extension removes the context switch that caused teachers to abandon standalone detection tools after a few weeks.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Does the extension send student text to any external server?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. The analysis runs entirely inside the browser using a Web Worker and a locally bundled statistical model. Student text doesn't leave the device during the detection pass."
}
},
{
"@type": "Question",
"name": "How accurate is AI detection in a classroom setting?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Accuracy varies significantly by student population. The developer's pilots showed higher false positive rates among English language learners, which led to the addition of a context toggle to adjust model thresholds for those classrooms."
}
},
{
"@type": "Question",
"name": "Why build this as a Chrome extension rather than a standalone web app?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The core insight was workflow fit. Teachers are already inside the document or LMS when they're reading student work. An extension removes the context switch that caused teachers to abandon standalone detection tools after a few weeks."
}
}
]
}