movar.fyi

A decision, with receipts

Why we don't use AI

Every browser now ships a general-purpose AI model, and the obvious idea is to let it decide what language a page is written in. We built that, measured it against 422 real text samples — Wikipedia articles and human-written sentences, not examples of our own invention — and threw it away. It was wrong more often than the boring code it would have replaced, and it was wrong in the one direction that matters most: it hid Ukrainian.

First, what Movar actually runs

We won't pretend Movar is machine-learning-free — that would be an easy claim to make and it would be false. Movar reads letters and words to work out what language something is in, and two small pieces of software help it do that. Neither one writes, rewrites, summarises, or reasons about what a page means. Neither one sends anything anywhere.

  • Your browser's own language detector — a small model Chrome and Edge already ship for their translate feature. Movar uses it only if your browser already has it, and never triggers a download.
  • A statistical detector called franc, which counts letter patterns. Open source, no model file, and the same on every browser — this is what carries Firefox and Safari.
  • A set of hand-written rules for Ukrainian and Russian spelling: і, ї, є, ґ against ы, ё, ъ, э. Dull, fast, and it cannot be talked into changing its mind.

01

An AI reads what a page is about, not what language it is in

This is the whole reason. Everything else is just cost.

  • Ukrainian media writes about Russia constantly. Russian media writes about Ukraine constantly. So we tested exactly that: Ukrainian articles about Moscow, and Russian articles about Kyiv, taken from Wikipedia rather than written by us.
  • The AI called 66% of the Ukrainian pages Russian. If Movar had trusted it, it would have hidden two thirds of Ukrainian articles about Russia from the people who installed Movar to read Ukrainian.
  • In the other direction it called 56% of the Russian pages Ukrainian — letting through the very content it was asked to catch.
  • The small detector Movar actually uses hid none of them. Zero out of fifty.
  • You can see the mistake without any adversarial trickery. Give the AI a paragraph of plain English that happens to mention a "Ukrainian musician" and "Ukrainian folk music", and it answers: Ukrainian. It isn't identifying a language. It's answering "what is this about?" — and for Movar those are not the same question.

02

We tried to prompt our way out of it, and it got worse

The usual answer to a badly-behaved model is a better prompt. We tried that, twice.

  • We instructed it, in plain words, to ignore the subject matter — that a text about Ukraine may well be written in Russian, and that the topic is irrelevant. It kept scoring the topic.
  • We then showed it four worked examples, two of them exactly this trap, with the correct answer spelled out. Accuracy dropped further: from 39% to 32% on longer pages, and from 21% to 13% on short ones.
  • With those examples in hand it answered Ukrainian 46 times and Russian 49 times, on a set that was 45 Russian and 50 Ukrainian. That is a coin toss with extra steps.
  • Forcing it to choose only between Ukrainian and Russian didn't help either. It changed the shape of the answer, not the quality of the judgement.

03

It was simply less accurate, everywhere

Not a trade-off — a straight loss on every category of page we tested.

  • Across all 422 samples: 70% correct for the AI, against 93% for what Movar ships today.
  • On full pages of article text, where you would most expect a language model to shine: 84% against 100%.
  • Compared sample by sample, the AI was uniquely right 15 times and uniquely wrong 112 times.
  • Every one of its common mistakes was inside the pair Movar acts on: Ukrainian mistaken for Russian, Russian mistaken for Ukrainian, Belarusian mistaken for either.

04

It would make every page slower

Movar has to decide before you see the page. An AI cannot answer that fast.

  • Movar budgets 150 milliseconds for the whole language decision, because it happens while the page is loading and you are waiting for it.
  • The AI took about 0.4 seconds per check in the configuration we would have had to ship, and 1.1 seconds for the slowest ones. Not one of the 422 samples came in under the budget.
  • The first page after you open your browser is far worse: the model needs roughly 22 seconds to wake up before it answers anything at all.
  • What Movar uses today answers a full page in about 20 milliseconds, and short text in well under one.

05

It would drain your battery

A multi-gigabyte model runs on your graphics chip. That is not free, and you pay it on every page you open.

  • We measured the work: 40 language decisions cost 22 seconds of processor time — roughly half a second of computation for every single page.
  • The small detector Movar uses costs around a fortieth of that. So the AI is at least 25 times more expensive per page, and that figure is a floor: it doesn't count the energy the graphics chip burns.
  • Movar runs on laptops and phones. Half a second of heavy computation per page means a warmer machine, a louder fan, and less time on battery — repaid on every navigation, for as long as the extension is installed.
  • The model file itself is about 4 GB on disk, and it has to stay there.

06

Almost none of you could use it anyway

Browser AI has hardware requirements that read like a gaming PC spec sheet.

  • It needs a desktop computer: Windows 10 or 11, macOS 13 or newer, Linux, or ChromeOS. There is no phone or tablet support at all.
  • It needs more than 4 GB of dedicated graphics memory, 16 GB of RAM, and 22 GB of free disk space before it will even download.
  • It exists only in Chrome and Edge. Firefox and Safari have nothing like it, and those are exactly the browsers where Movar leans hardest on its fallback detector.
  • Building a core feature that most people can never run means shipping two products and only testing one of them.

07

And it would break the quiet

Movar sends nothing, anywhere. Adding an AI puts that at risk for no gain.

  • The browser's AI does run on your own machine — we're not accusing it of spying. But it arrives as a multi-gigabyte download, and Movar currently makes no network requests at all. That silence is a promise we would rather keep than qualify.
  • For the same reason Movar doesn't translate Russian into Ukrainian, even though your browser could. A machine translation reads like native Ukrainian, so it quietly launders the thing you installed Movar to avoid.

What would change our mind

This is a measurement, not a principle about AI, so it can be overturned by a better measurement. We would reopen it for a browser model that gets Ukrainian-about-Russia wrong less than 5% of the time, answers inside the 150-millisecond budget, and costs no more than about twice the computation of the small detector. All three, on the same test set, including the pages where the topic and the language disagree — because that is the test that broke every version we tried.

Read the whole thing

The full decision — the corpus, every table, the failure catalogue, and the three unrelated bugs the benchmark turned up in our own code — is written down in the repository, in the same format we use for every architectural decision. It is public because the numbers should be arguable.

The decision record on GitHub → How Movar handles your data →