Reserved first
Holds R1008EINSTEIN NTP Novi Sad × JigJoy hackathon
Agree the terms before anyone meets.
Agents find a researcher for a company challenge, negotiate the clauses that usually stall the work, and say no when there is no good match. A person still decides. Nothing is sent to anyone.
- 0 researchers double-booked on all 489 challenges, against 104 with last-writer-wins
- 20/20 planted false claims stopped before they reached a proposal
- 3.9× faster with agents in parallel than one call at a time
- 4/15 sampled challenges got a reasoned no instead of a forced match
Collaborations between companies and universities stall on the same few clauses: who owns the results, how long publication waits, who gets exclusivity. Prenup settles them before anyone meets.
The run
One run, five moments.
Eight challenges. Three matchmakers. One shared board.
Wants the same person
Write refused- matchmaker-1reserve R1008v0 → v1✓
- matchmaker-2reserve R1008saw v0✕
Read version 0. The board is already at 1.
Decision
R1008 stays with ArmaturaSec
Both challenges fit R1008 well. Taking the alternative, R1015, would cost each side search relevance:
Reasoning checked: 2 of 3 citations backed
SecureEdge Labs re-matches to R1015 by itself
We want to own the results, so the detection core can ship in our product.
The university owns them, with an option to assign to you. And a 30-day publication review.
We accept the option. We need 60 days: our traffic data is under NDA.
Accepted. Sixty days, given the NDA.
Agreed in round 4
Approved. Nothing was sent.
Rejected. Nothing was sent.
Raise a €400,000 seed round
AnalystA business development and market access challenge… not academic research into new methods or theories.
The board stops here and explains why. No researcher is contacted.
How it works
How a challenge moves.
Each part reacts when something happens. Nobody calls anybody.
-
01
Read the challenge
An Analyst turns it into research questions, or says it is not a research problem.
emits
challenge.analyzed -
02
Search in code
Search over 10,779 publications runs without a model. Every fact on a card cites a record.
emits
shortlist.ready -
03
Review the fit
A reviewer reads each whole record and says who could do the work, not just who shares the topic.
emits
fit.done -
04
Compete for the person
Matchmakers reserve researchers on one board. A version check stops a double booking. An Arbiter settles the conflict.
emits
reservation.conflict -
05
Negotiate the terms
Each side offers only what the data allows. They trade until they agree, or they do not.
emits
negotiation.agreed -
06
Check every claim
The Critic checks each sentence against its source. A stopped claim goes back to its writer once.
emits
critic.done
Built on Mozaik · TypeScript · Claude models
The Critic
Every fact has a source.
Before a sentence is used, the Critic checks that the cited record exists, the quote is in it word for word, the record belongs to that person, and every number is in a cited field.
To test it, we planted 20 false claims built from real records. All 20 were stopped.
- Same-name swap3/3
- Says more than its quote4/4
- Altered quote4/4
- Fake id3/3
- Unavailable person2/2
- Engagement not on offer2/2
- Invented money2/2
Responsible by design
It proposes. People decide.
-
It never ranks people
Fit is judged for one piece of work, never a person's worth.
-
Only what they are open to
A researcher is only offered what they listed. Edits are held to the same rule.
-
Nothing is sent
A person edits, approves or rejects each proposal. Nobody is contacted before that.
Open source
A demo, not a finished product.
Open the code, replay the recorded run, and watch how the agents talk. No API key needed.
npm run setup && npm run demo -- --replay
The live board replays the recorded run on a free plan, so the first visit after a quiet spell can take a minute.