Open Science Collaboration Network

Een gratis open-data-platform dat twee publieke datasets — OpenAlex en CORDIS — omzet in gerangschikte, gescoorde shortlists van EU-consortiumpartners. Het vervangt twee tot vier weken handmatig zoekwerk, dat te zwaar leunt op geografische nabijheid, door één enkel scherm dat ~9.300 instellingen overspant, verspreid over zes onderzoeksthema’s

Rol
Solo end-to-end — gebruikersonderzoek, productstrategie, Python data-engineering (ETL), FastAPI backend, React + Vite frontend, graph-visualisatie, DevOps
Disciplines
Product DesignUX ResearchData & AnalyticsInformatiearchitectuur
Links
Kort
  • Probleem — Het vinden van EU Horizon-consortiumpartners draait op persoonlijke netwerken + Google: 2–4 weken werk, te sterk gestuurd door nabijheid, zonder objectief bewijs van een goede match
  • Inzicht — Een ruwe publicatieranking zet voor elk thema Harvard/MIT bovenaan; pas wanneer je EU-projecthistoriek + netwerkpositie meeweegt, komen de échte consortiumkandidaten boven
  • Oplossing — Ik bouwde solo, end-to-end, een open-data-platform (OpenAlex + CORDIS) dat instellingen scoort van 0–100 op 6 dimensies, aangevuld met een graph, gapanalyse, semantisch zoeken en AI-briefings
  • Resultaat — Live: 6 thema’s, ~9.300 gescoorde instellingen, 800.000+ samenwerkingsverbindingen, draaiend voor €0/maand

Het vinden van Horizon Europe-partners verloopt volledig via persoonlijke netwerken — en dat merk je

EU Horizon Europe-subsidies (€95,5 miljard over 2021–2027) vereisen vrijwel altijd een multinationaal consortium van minstens drie partners. De samenstelling van het consortium is een beoordelingscriterium en een veelvoorkomende afwijzingsreden. De officiële tool — de Partners Search van het EU Funding Portal — levert een ongerangschikte namenlijst op, zonder publicatiegegevens, zonder netwerkcontext en zonder fit-score. In tien jaar tijd is ze nauwelijks veranderd.

Vier semigestructureerde interviews met onderzoekers die eerder Horizon-aanvragen hadden ingediend, lieten telkens hetzelfde werkproces zien: (1) organisaties oplijsten die de PI al kent van congressen; (2) Google Scholar afgaan voor affiliaties; (3) CORDIS handmatig uitpluizen; (4) mailinglijsten aanschrijven. Nabijheid haalt de bovenhand — organisaties buiten het bestaande netwerk van de PI maakten zo goed als geen kans op de shortlist, hoe goed de match ook was. En gaten in het consortium — het ontbrekende beleidsorgaan, de afwezige ngo — kwamen meestal pas tijdens het schrijven aan het licht, net wanneer ze duur zijn om recht te zetten.

Het probleem is geen gebrek aan data — zowel OpenAlex als CORDIS zijn publiek, volledig en gratis. Het probleem is dat geen enkele tool ze ooit heeft samengebracht in een vorm die echt bruikbaar is om partners te vinden

Partner Shortlist: instellingen gerangschikt op de samengestelde Partner Fit Score, met type-badge, land, werken en aantal EU-projecten

Vier pijnpunten — en één dat niet in de oorspronkelijke scope zat

Het onderzoek combineerde vier methoden: vier semigestructureerde stakeholder-interviews van 45 minuten, een documentanalyse van 12 gefinancierde Horizon-projectbeschrijvingen (CORDIS), een concurrentie-audit van het EU Funding Portal, ResearchGate en ERAPortal, en een technische verkenning om de dekking en datakwaliteit van de OpenAlex API en de CORDIS bulk-CSV te valideren.

Pijnpunt 1: het zoeken hangt volledig af van wie je netwerk is. Pijnpunt 2: er is geen kwantitatief fit-signaal — partners worden gekozen op reputatie en persoonlijk vertrouwen, niet op meetbare indicatoren. Pijnpunt 3: gaten in het consortium komen laat aan het licht, tijdens het schrijven. Pijnpunt 4: CORDIS is onbruikbaar zonder tooling — alle vier de geïnterviewden wisten dat het bestond; niemand gebruikte het geregeld.

De Consortium Gap View zat niet in de oorspronkelijke scope. Ze kwam rechtstreeks voort uit pijnpunt 3 en is intussen één van de schermen die het platform het duidelijkst onderscheiden van een gewone ranglijst van instellingen

Een ruwe publicatieranking zet voor elk thema Harvard bovenaan — en daar heb je niets aan

De Partner Fit Score is een gewogen samengestelde score van 0–100 over zes dimensies: thematische relevantie (30%), publicatie-activiteit (20%), deelname aan EU-projecten (20%), netwerkcentraliteit (15%), landen-/consortiumdiversiteit (10%) en recente activiteit (5%). Elke component wordt genormaliseerd via percentielrang binnen het cohort van het thema, niet gedeeld door het maximum — dat was de fout in de eerste versie. Delen door het maximum duwde ~86% van de instellingen onder de 30 en liet per thema amper één of twee instellingen boven de 70 uitkomen. Percentielnormalisatie spreidt de scores zinvol over het hele bereik: in productie ~150–315 sterk passende instellingen per thema.

Elke score wordt opgeslagen met een uitsplitsing per component in JSONB, zodat gebruikers exact zien waarom een instelling waar eindigt. De hoverkaart in de shortlist en het volledige uitsplitsingspaneel op het instellingsprofiel zijn niet zomaar versiering — zonder hen voelt de score ondoorzichtig aan en gaat een onderzoeker er niet op af.

Instellingsprofiel — scorering + uitsplitsing per component

Consortium Gap View — dekkingsoordelen per standaardrol

Eerlijke beperking: de entity matching is accuraat voor universiteiten en gevestigde onderzoeksinstituten (stabiele, goed geïndexeerde namen) en minder voor kmo’s — voor klimaatadaptatie zijn ongeveer 3.900 CORDIS-deelnames gekoppeld aan OpenAlex-instellingen, terwijl er ~3.570 ongekoppeld bleven. De drempel confidence-75 aanvaardt grensgevallen van fuzzy matching als “review-grade”; alles daaronder wordt weggelaten in plaats van geforceerd. Voor de beoogde toepassing — consortium-leadpartners identificeren — is dat een aanvaardbare afweging: kmo’s zijn zelden lead, en de ongekoppelde staart raakt de top van de shortlist niet.

Vijf schermen voor de vijf fasen van het vinden van partners

Het platform dekt het volledige zoekproces: Partner Shortlist (kandidaten scannen met filters op land, type en minimumscore) → Instellingsprofiel (individuele beoordeling met score-uitsplitsing, topprojecten en co-auteursgemeenschap) → Network Map (force-directed Cytoscape.js-graph, kleuring per Louvain-cluster, versleepbare nodes) → Consortium Gap View (zes standaardrolkaarten met dekkingsoordelen) → AI Strategy Brief (Groq/llama-3.3-70b RAG-briefing, gecachet vanuit de wekelijkse ETL-run). Semantisch zoeken en de consortiumbouwer zijn v2-toevoegingen die over alle schermen heen lopen.

sci-collab.ontwrpn.com — live preview
Live demo
sci-collab.ontwrpn.com
Openen

Live — zes onderzoeksthema’s, ~9.300 gescoorde instellingen, 800.000+ samenwerkingsverbindingen

Network Map — Louvain-clusters, versleepbare cola force-layout

Consortiumbouwer — live overzicht van de gaten naarmate je partners toevoegt

AI Strategy Brief — RAG over de top-15 abstracts, gegenereerd in de ETL

Semantisch zoeken — op cosinus gerangschikt over 6.000 ingebedde work-abstracts

Batch-first: al het zware rekenwerk gebeurt in de ETL, zodat de API alleen-lezen is en €0 kost

De belangrijkste architectuurkeuze is onzichtbaar voor de gebruiker: al het rekenwerk — graph-metrieken, entity matching, scoring, embeddings, het genereren van de AI-briefings — gebeurt in een wekelijkse batchjob. De productie-API is een dunne leeslaag boven op voorberekende Postgres-tabellen. Geen zware bewerkingen op het moment van de request; geen LLM-calls op het hot path. Daarom draait het platform ook voor €0/maand: alles zit gebundeld in één Docker-container op een bestaande Coolify/Hetzner-host, waarbij een interne, wekelijkse ETL-schedulerthread elke externe cron en elke beheerde clouddatabase overbodig maakt.

Het lastigste engineeringprobleem was de entity matching tussen CORDIS (PIC-nummers) en OpenAlex (ondoorzichtige id’s) — geen gedeelde identifier, alleen organisatienamen en landen. De oplossing telt drie lagen: eerst blokkeren op land (krimpt de zoekruimte met ~95%), dan een rapidfuzz token-set fuzzy match (≥90 meteen aanvaard, ≥75 als review-grade), en pas voor de grensgevallen tussen 75 en 90 de ROR affiliation API. Door eerst de fuzzy match te doen, daalde het aantal ROR-calls ~100× tegenover het oorspronkelijke ontwerp, dat ROR voor elke organisatie aanriep — wat ETL-timeouts opleverde. Om deadlocks te vermijden moest ik de Postgres-upserts sorteren op openalex_id, zodat parallelle ETL-processen de rijlocks in dezelfde volgorde nemen.

De graph-weergave past zich aan op 390px mobiel — Cytoscape.js cola-layout met inklapbare legende

Live, gemeten, eerlijk over de beperkingen

Stand van zaken in juni 2026: zes onderzoeksthema’s live, ~9.300 gescoorde instellingen (21.000+ Partner Fit Scores per instelling-thema), 800.000+ samenwerkingsverbindingen, 6.000 ingebedde werken. Totale infrastructuurkosten: €0. Bouwtijd: zeven maanden solo, van november 2025 tot de MVP in mei 2026, met de v2-functies in juni 2026.

Wat ik anders zou aanpakken: de entity matching vroeger op accuraatheid valideren. Ik heb drie weken aan de volledige pipeline gebouwd voor ik de precisie mat. Een verkenning van twee dagen op een steekproef van 200 CORDIS-organisaties had het accuraatheidsprobleem bij kmo’s vroeger blootgelegd en sneller tot een beslissing over de drempel confidence-75 geleid. Een scoremodel is niet af wanneer de formule logisch oogt — pas wanneer de verdeling van de output ook echt bruikbaar is om een beslissing op te baseren.

De les die telkens terugkwam: toets de beloften van gratis tiers aan de realiteit van vandaag, niet aan de documentatie. Het gratis Postgres-tier van Render wist de database tegenwoordig na 30 dagen. Elke gratis beheerde optie heeft wel een addertje onder het gras. Beheer je databasehost dus zelf

Bronnen

Volgend project
Benelux AI Job Scout