// Matched Reviews — directory of papers under review that match your domain
// + reviewer fit. Drops into the main Ecosystem page (UBP) but is also a
// standalone screen.
function MatchedRail({ active }) {
return (
<>
{scores.map((s, i) => (
{s[0]}
0.8 ? UB.accent : s[1] > 0.5 ? 'oklch(0.66 0.13 240)' : UB.ink3 }} />
{s[1].toFixed(2)}
))}
);
}
function MatchedReviewsDapp() {
const matches = [
{
paper: 'Astrocytic GAT-3 modulators preserve LTP under chronic inflammation',
authors: 'Park S., Lin C., Tanaka M.', cls: 'Cell Reports', state: 'OPEN',
due: '4d 14h', bounty: '$1,840', reviewers: '1 / 4', fit: 0.94,
scores: [['Domain', 0.96], ['Methods', 0.92], ['Citations', 0.88], ['Recency', 0.84]],
reasons: ['You co-authored 4 papers on astrocyte GABA reuptake', 'Cited by 8 in your reading list', 'No conflict detected'],
},
{
paper: 'A reproducibility-weighted index for systems-neuroscience replications',
authors: 'Tanaka M., Osei J.', cls: 'eLife', state: 'OPEN',
due: '6d 02h', bounty: '$8,420 (capped)', reviewers: '3 / 4', fit: 0.88,
scores: [['Domain', 0.86], ['Methods', 0.94], ['Citations', 0.78], ['Recency', 0.92]],
reasons: ['Your TRID work on κ overlaps directly', 'Editor t.alvarez requested you'],
},
{
paper: 'Open imaging benchmark for two-photon glia kinetics',
authors: 'Open Glia Consortium', cls: 'Nature Methods', state: 'OPEN',
due: '8d 18h', bounty: '$4,210', reviewers: '2 / 4', fit: 0.84,
scores: [['Domain', 0.92], ['Methods', 0.88], ['Citations', 0.74], ['Recency', 0.84]],
reasons: ['You authored Glia heterogeneity atlas (cited)', 'No conflict detected'],
},
{
paper: 'Cortical microcircuit motifs across primate species',
authors: 'Alvarez T., Shah A., +6', cls: 'Cell', state: 'PRE-OPEN',
due: '12d 04h', bounty: '$2,240', reviewers: '0 / 4', fit: 0.79,
scores: [['Domain', 0.84], ['Methods', 0.82], ['Citations', 0.68], ['Recency', 0.82]],
reasons: ['Author T. Alvarez has co-reviewed with you 3×'],
conflict: true,
},
{
paper: 'Tau aggregation inhibitor · seedless library screen',
authors: 'Park J., Kim T.', cls: 'PNAS', state: 'OPEN',
due: '14d', bounty: '$1,180', reviewers: '0 / 3', fit: 0.72,
scores: [['Domain', 0.62], ['Methods', 0.86], ['Citations', 0.74], ['Recency', 0.66]],
reasons: ['Adjacent domain · methods overlap with your patch-clamp work'],
},
{
paper: 'Senolytic small-molecule · selectivity panel across 14 cell types',
authors: 'AgeX Discovery DAO', cls: 'Nat Aging', state: 'OPEN',
due: '6d 12h', bounty: '$3,180', reviewers: '1 / 3', fit: 0.68,
scores: [['Domain', 0.58], ['Methods', 0.82], ['Citations', 0.62], ['Recency', 0.78]],
reasons: ['You hold $AGEX · disclosure required, not blocking'],
},
];
return (
}>
Ecosystem · Reviewer hub}
title="Matched review requests"
sub="Live, editor-curated under-review papers ranked by domain, method, citation, and recency overlap with your TRID profile. Claim by signing — bounty pays out when the editor releases."
actions={<>
Match preferences
Daily digest · ON
Open my reviewer SBT
>}
/>
{/* Top KPIs */}
{/* Why these match — a transparency banner */}
YOUR PROFILE · TRID
You're matched against 22 open papers using your domain map (neuro · glia), method graph (electrophysiology · 2-photon), citation network, and conflict graph. No paper from a co-author within 36 months is shown.
CONFLICTS · AUTO-EXCLUDED
{['c.lin.eth', 's.park.eth', 'glia-init.dao', '+ 11 more'].map(t => {t})}
{/* Filters */}
FILTER
{['All · 22', 'Best fit ≥0.85 · 6', 'Closing 48h · 4', 'Bounty ≥ $2K · 8', 'No conflict · 18'].map((c, i) => (
{c}
))}
Sort:
{['Best fit', 'Highest bounty', 'Closing soonest'].map((d, i) => {d})}
{/* Match cards */}
{matches.map((m, i) => (
{m.state}
{m.cls}
·
closes in {m.due}
{m.conflict && ⚠ check conflicts}
{m.paper}
{m.authors}
{m.reasons.map((r, j) => (
↳ {r}
))}
FIT · {m.fit.toFixed(2)}
0.85 ? UB.accent : m.fit > 0.75 ? 'oklch(0.66 0.13 240)' : UB.ink3 }}>
{m.fit > 0.85 ? 'BEST' : m.fit > 0.75 ? 'GOOD' : 'OK'}
BOUNTY
{m.bounty}
{m.reviewers} reviewers signed
Save
0.8}>Claim · sign
))}
↳ 16 more matches · scroll to load · or refine your match preferences
);
}
window.MatchedReviewsDapp = MatchedReviewsDapp;