SHORA automates web tasks deterministically on every visit, even when the page is redesigned. No language model in the data path: an AI agent records the task once, then the engine replays it the same way, every time. Built on web breakability research from PhD at INRIA.
A deterministic web task automation engine built for AI when reliability has a cost. The engine uses AI to capture the structural intent of a web page rather than its surface selectors that conventional tools break on. ~10× cheaper than AI, with no human or maintenance required.
Two ways to automate web tasks at scale fail: (1) AI is unreliable end-to-end, expensive to run on every web page, and silent when it fails: wrong data, no signal, while everyone trusts the outcome. (2) Scrapers are expensive to repair when they break due to changes in web pages, yet those changes are frequent. CROspector is the third option: AI records the task once, then a deterministic engine replays it every other time.
See the receipts →Used by teams whose decisions depend on the same web page being read the same way, every time.
Visit crospector.comIf those three are true, we have thirty minutes. If they are not, we are probably not the right vendor and we would rather tell you now.
SHORA is a deep-tech project spun out of INRIA. We build the deterministic web task automation infrastructure that audit, intelligence, monitoring, and compliance teams use when reading a field wrong costs them revenue, regulatory exposure, or reputation.
Our focus is the unsexy half of web data: the part where the same page has to be read correctly thousands of times, deterministically.
Supported by
CROspector is SHORA's deterministic web task automation engine. An AI agent records how a web page is structured once, on a live page exactly as it renders, and the engine then replays that recording to read every page of the same kind, the same way, every time. No language model in the read path: the engine replays the frozen recording mechanically. Built on record-replay research from a PhD at INRIA.
A scraper binds to surface selectors. It breaks when the page is restyled. An LLM extractor re-guesses each element from frozen weights. That is expensive, and it drifts silently. CROspector binds to the page's structural intent, not its surface. It reads through content changes and redesigns without re-recording. And it fails loudly with evidence, instead of returning confidently wrong data.
The same input always produces the same output. The engine reads a given page the same way on every visit, with no guessing and no drift. This matters because the two usual ways to read pages at scale, an AI agent or a human, both produce different results on the same page over time. A measurement you can sign for, audit, and put under an SLA has to be reproducible. Only a deterministic system is.
Two ways at once. First, cost: it is roughly one-tenth the cost of reading the same pages with an LLM agent. There is no language model in the read path, so no per-page inference bill. Second, it cannot be silently, confidently wrong. When it can read a page, it reads it the same way every time. When it cannot, it stops and shows you the page instead of inventing an answer. Cheaper is the easy half. Never lying to a decision that costs you money is the half that matters.
Any task where the same web pages must be read correctly, identically, at scale, tens of thousands of times. And where reading a field wrong costs revenue, compliance, or reputation, not just convenience. It is built for the repetitive, high-stakes half of web data. A language model drifts on it. Conventional automation breaks on it the moment a page changes.
Yes. CROspector's first productized application is for retailers that buy paid traffic, measuring the buyable state of promoted products. If that is you, the retail-specific detail (wasted spend, competitor outages, Google Merchant Center, GA4 blind spots) lives on crospector.com.
If you have ten URLs you need read correctly every day, we can show you a working automation in 48 hours.
172 Av. de Bretagne
59000 Lille, France