Most innovation radars are a committee's opinion drawn as a chart. This one is a pipeline that reads 11,759 dated public documents in six languages, proposes the market cells nobody has written down yet, refuses to state a number it cannot source — and does not stop until a salesperson has a brief, a battlecard and a business case in their hand.
Built as a use case for Orange Business by Stephane van der Aa in two weeks, during the AI & Data Science training at BeCode. WithUzair Saeed(business analysis) andKim Lien (documentation).
Personal post, my own views. Built as a training project during the AI & Data Science course at BeCode, from a use case contributed by Orange Business. A prototype — not an Orange Business product, service or roadmap commitment, and not in production. Built exclusively from public sources; no Orange Business customer, employee or commercial data was used.
1. The problem: a radar nobody can audit, that stops before the sale
Every large enterprise produces a version of this artefact. Concentric rings, thirty topics on them, presented once a quarter. It is made the same way everywhere: a few well-informed people read what they had time to read, argue for an afternoon, and place the dots. Three problems follow.
- It cannot be audited. Ask why a topic sits where it does and the answer is somebody's judgement, not a document. When that person changes role, the reasoning leaves with them.
- It stops at insight. The radar tells an account team a market looks interesting. It does not say what the opportunity is worth, who will be in the room competing for it, or what to say on Tuesday morning.
- It covers what somebody had time for. Manufacturing and public sector get attention because they always do, and the cells nobody examined are invisible — a chart cannot show you its own blind spot.
A fourth problem is newer. It is now trivial to generate two hundred plausible opportunity statements with a language model, and the result is worthless. A discipline whose credibility problem was one committee's opinion is not improved by becoming one model's opinion, at volume — if anything it is worse, because the volume disguises the absence of evidence.
Can a discovery system be built that cannot state a number it cannot source and cannot name a thing it did not read — and that carries the same evidence all the way from a public document to the deck in the customer meeting?
2. What it produces: an opportunity space, and four separate answers
The unit of work is an opportunity space: one vertical, one use case, one technology, plus a statement specific enough to argue with. Not "AI in manufacturing" — that is a category, and nobody can act on a category. The system holds 457 of them across 15 verticals, 51 use cases and 36 technologies, on a controlled vocabulary so two refreshes name the same thing the same way.
Beside each space sit four quantities, and the central design decision is that they are never combined into one score. A blended number hides exactly the disagreement worth seeing: a market moving fast where the provider has no position, and a quiet market where it is already strong, are different decisions that a single figure cannot tell apart.


3. Evidence, or nothing
The radar reads 11,759 dated signals from 34 wired sources — EU and national procurement notices, legal instruments and consultations, standards bodies, funded research, corporate filings and news in six languages. 7,436 are tier 1, because the authoritative sources happen to be public infrastructure. An item that cannot be dated is rejected outright: momentum is a slope over publication dates. Those signals cluster into 325 themes by local multilingual embeddings — deliberately not by a model, because identical inputs must give identical output.

Four defences run underneath every generative step. A claim must cite a signal the pipeline genuinely retrieved; a space must land on the governed grid; no figure anywhere may be produced by a model; and a second pass checks each claim is actually entailed by the span it cites. An uncited claim is stripped, never rewritten to sound plausible. Above them sits an adversarial critic with a different system prompt, scoring each candidate as the minimum across five tests — so one failure caps the score instead of being averaged away.

Every score keeps its components, raw inputs, weight set and the prompt and model versions that produced it, so any number on screen can be recomputed by hand.

4. From an opportunity to a conversation
An opportunity nobody can price is a topic. Each space is sized bottom-up by two independent methods side by side: enterprises × adoption × engagement value, from 56,385 Eurostat observations, and the annualised value of contracts that demonstrably exist, read from EU tendering data. The confidence grade is the worst basis among the factors rather than an average — of 764 computations, 541 are graded observed, 145 partial and 78 modelled. Where nothing attributable exists, no number is published.
Competitors are described only from what they publish about themselves, with every claim in a profile linked back to the page that said it. Per space that becomes an activity paragraph, a differentiation paragraph, and — the part that makes it usable — a concession naming what the competitor genuinely does better. A comparison that gives the other side nothing reads as marketing, and an invented advantage is not caught in review; it is caught in the meeting.
The chain then ends where it should: in a deliverable. Each space produces a six-page PDF brief and twelve pre-sales artefacts covering the work between a first meeting and a proposal — qualification pack, solution outline, first-meeting deck, business case, battlecards, PoC scope, tender blocks and risk register. Documents come as PDF, Word or OpenDocument and decks as PowerPoint, OpenDocument or PDF, because pre-sales edits material rather than retyping it — and all twelve are built from one snapshot, so nothing in the pack can contradict anything else in it.

5. From a ranked list to a portfolio decision
A ranked list answers "what is most attractive?". It cannot answer "what should we commit to next year, given a fixed number of bids we can run and a fixed pool of specialists to deliver them?" — and truncating a ranking is not an answer. The Planner treats it as what it is: a constrained optimisation. A mixed-integer program selects a portfolio under entry slots, capability headcount and concentration caps, projects a multi-year outcome from margin and discount-rate parameters the user supplies, and reports which constraint bound the plan — the output a ranking structurally cannot produce.

A stage gate then moves a space from Shortlisted through Demand-tested and Packaged to Live, with a named owner at each stage. Each role rates only its own axis — strategy rates fit, sales rates demand, pre-sales rates deliverability — and those ratings form conviction, a third quantity that changes what surfaces first for each role but never alters attractiveness or right to win. Where the team and the evidence disagree, the radar reports the divergence instead of resolving it.
6. What it does not claim
One framing note before the limitations. What follows describes a two-week training prototype. It is not an Orange Business product or service, it is not in production, and no business decision has been taken on its output.
A brief that only lists strengths is the thing this system was built to avoid. All three real limitations are surfaced in the interface rather than left to be discovered.
- Not one of the 5,331 capability links has been confirmed by a human. Right to win is a structured lookup over exactly those links, so every such score rests on machine-proposed evidence nobody has signed. The code to record a curator's decision exists and is tested; the curator does not.
- Nothing is calibrated or backtested. The weights are the briefing's indicative figures and no outcome data has moved them. The replay harness a backtest needs is built and works, with publication-date leakage control — but until it is run, the scores are a transparent ordering, not a validated one.
- Coverage is uneven, and the gaps propagate. 116 spaces have no bottom-up market size, which makes them invisible to the Planner rather than merely unqualified; 236 have no competitive assessment. Each gap is reported with its reason — which is correct behaviour, and not the same as being fixed.
7. The technical solution
Two runtimes share one SQLite file: a batch discovery pipeline of thirteen stages that writes, and a read-mostly FastAPI service that serves. Nothing in the serving path imports the pipeline's heavy dependencies, which is what lets the entire corpus ship as a single build artefact. Every stage declares its input and output contract and can be run alone, which is how the system is developed, tested and repaired.

Two rules decided every technology choice. Pure Python or nothing — no LibreOffice, no headless browser, no external renderer — because a sovereign, air-gapped deployment must stay on the table. And the abstraction matters more than the vendor, because the economics of models change every few months. The most consequential rule is where a model is allowed to act at all: a model is used where judgement or language is unavoidable, and never where arithmetic is available. A model asked to count will occasionally be wrong and always be unverifiable.

Verification follows the same logic. 524 automated tests pass, covering evidence binding, scoring reproducibility, source-quality rules, sizing, workflow, authentication and deletion. Generated PDFs are read back so the tests assert what a reader actually sees — which is how four overflowing chart labels were caught. It deploys as a single managed web service, and a redeploy never discards the workflow decisions and regenerated content production has accumulated.
8. How it was built
The system was built as a use case for Orange Business by Stephane van der Aa over two weeks, as the capstone project of the AI & Data Science training at BeCode, with Uzair Saeed Khan on business analysis and Lien Kt on documentation. The git history records 47 commits across 9 active days, with its centre of gravity in a single five-hour evening and the day that followed — the Planner, sign-in and the twelve-piece pre-sales pack all landed inside that window.
Two weeks is not long enough to calibrate a scoring model against historical outcomes, and the brief above says so. It was long enough to demonstrate the harder half of the argument: that an AI discovery system can be built so every claim resolves to a dated document, every number decomposes into named components, the rejection rate is printed rather than hidden, and the same evidence runs from a public tender notice to the battlecard in a salesperson's hand. The scores still need Orange expert validation. The chain underneath them is ready to be audited today — which is the part most radars cannot offer at all.
