Gallery
1 / 6
What it does
EINSTEIN Matchmaker pairs University of Novi Sad researchers with NTP Novi Sad company challenges and writes a cited collaboration proposal for each pair. The form follows the researcher's own consent (open_to, read in English and Serbian): only researchers who agreed to supervise an industrial PhD get one; others get a joint project or contract research. Three Screeners score 180 shortlisted pairs, Profilers and Analysts build cited profiles, and Writers draft proposals with pass or fail targets and an owner per period, a baseline the targets are compared against, risks with a point at which to stop, what is new beyond the researcher's own papers, what data exists, the company's own time limit, and what is still to agree. A Critic checks every claim against the dataset record it cites, and the text against those claims, and sends failing drafts back. On a planted-error set of 125 claims it caught 52, 53 and 53 of 53 subtle errors in three runs and blocked 0 of 72 true claims each time. 35 offline guard tests cover what a claim check misses: invented figures, outsiders named, past dates, plans that miss the company's own deadline or leave a gap, a missing baseline or stop point. Companies can also describe a problem in plain words and get matched researchers (Reverse Search). It scores pairs, never people. The site replays all 16 recorded live runs at no cost, and npm run verify:evidence recomputes every published number from the raw traces with no key.
How the agents run concurrently
13 Mozaik participants share one runtime and one shared state (MatchState) and coordinate only through events (pair.screened, pair.selected, profile.ready, proposal.requested, critic.verdict). Nobody calls anybody. A Coordinator splits the shortlist across three Screeners that score in parallel. The Matchmaker picks a pair the moment its score lands (0.5 to 3.2 s into the batch runs, while screening ran until 2.0 to 5.3 s), so two Profilers and two Analysts start while the Screeners are still scoring, and a Writer starts as soon as its pair's two profiles exist. The Critic reviews each draft inside the Writer's own loop through an InterceptionHandler and sends it back with numbered problems; its claim checks go out in parallel batches of 8. Measured from the traces, not claimed: in all 9 full batch runs, 9 jobs were in flight at the peak and 21 of 21 jobs overlapped another agent's work; in the 4 retest runs and 3 searches every job overlapped another. Each job has its own ModelContext, a watchdog that ends a stuck loop, and a budget reservation before every model call. Screening and claim checks run on the OpenAI Decisions API, which did 76% of the reading for 11% of the cost.