// More UBP sub-pages: AI Twin · Wallet · Reviewer Hub · Patents · Discovery // Each is reachable from the Personal Dapp left rail. function UBPRail2({ active }) { return ( <>
M
M. Harriot
UBID·0x7a91…3fc2
TIS 85.8 NEUROSCI
); } function Crumb2({ items }) { return (
{items.map((it, i) => ( {it} {i < items.length - 1 && } ))}
); } // ────────────────────────────────────────────────────────── AI TWIN ────────── function AITwinDapp() { const conv = [ { who: 'twin', t: 'I pre-reviewed DRAFT·219. Section 3.4 reuses methods from your 2024 Cell paper without citation — likely an oversight; suggested a self-citation.', meta: 'reviewed · 12 min ago' }, { who: 'me', t: 'Find me three labs that\'ve replicated dPID·a92f.04 outside the US.' }, { who: 'twin', t: '3 candidates: Picotti Lab (ETHZ, partial), Kim Lab (KAIST, replicated M2 only), Yamamoto Lab (RIKEN, full replication, dPID·91c2.03 published 2 weeks ago).', meta: 'searched 14 sources · 1.4s' }, { who: 'me', t: 'Draft a Methods paragraph from notebook NB-219 cells 1.1–1.4.' }, { who: 'twin', t: 'Draft attached. Length 412 words · Cohen\'s κ vs your prior style 0.89. Used 11 prior references; flagged 2 as potentially outdated.', meta: 'draft · 04 May 17:42' }, ]; return ( }> } title="Your digital twin" sub="Trained on your notebooks, papers, drafts and citations. Pre-reviews work, finds prior art, drafts methods sections — always under your sign-off." actions={<> Settings New conversation } />
{/* Left: training + skills */}
Indexed on your machine. The model never leaves your enclave.
{[ ['Notebooks · NB-001 → NB-219', '14,201 cells'], ['Published papers · 23', '482K tokens'], ['Drafts in review · 4', '38K tokens'], ['Reviews you wrote · 91', '54K tokens'], ['Citation graph (2nd-order)', '2,184 nodes'], ].map(([k, v], i) => (
{k} {v}
))}
↻ Last sync: 12 min ago · drift 0.4% · re-train on diff
{[ ['Pre-review drafts', true, 'accent'], ['Surface prior art', true, 'accent'], ['Draft methods sections', true, 'accent'], ['Reproducibility checker', true, 'ok'], ['Reviewer matchmaking', true, 'ok'], ['Grant call alignment', true, 'ok'], ['Auto-cite my own work', false, 'default'], ['Critique my own claims', true, 'warn'], ['Generate hypotheses', false, 'default'], ].map(([k, on, tone], i) => (
{k} {on ? 'ON' : 'OFF'}
))}
{/* Center: conversation */}
{conv.map((m, i) => (
{m.who === 'twin' ? 'M⁂' : 'M'}
{m.who === 'twin' ? 'M.HARRIOT · TWIN' : 'YOU'} {m.meta && · {m.meta}}
{m.t}
))}
Ask your twin · @paper @notebook /command
Send
{/* Right: actions + audit */}
{[ ['Pre-review DRAFT·220', '+0 UBR'], ['Submit to publication', 'sign'], ['Open replication bounty', '40 UBR'], ['Fetch from Compute', 'estimate'], ['Mint IP-NFT from NB-219', 'sign'], ].map(([k, v], i) => (
{k} {v}
))}
{[ ['Inferred answer', '14×'], ['Fetched citation', '8×'], ['Drafted text', '3×'], ['Auto-flagged for review', '2×'], ['Acted with sign-off', '0×'], ].map(([k, v], i) => (
{k} {v}
))}
); } // ──────────────────────────────────────────────────────────── WALLET ───────── function WalletDapp() { const txs = [ ['+2,184', 'Royalty payout · dPID·a92f.04', '04 May · 17:02', 'ROYALTY', 'accent'], ['+340', 'Access fees · QmZ7…91fe', '04 May · 09:14', 'ACCESS', 'ok'], ['-12.40', 'Compute · NB-219 H100×4', '03 May · 22:08', 'COMPUTE', 'default'], ['+90', 'Reviewer reward · dPID·81b3', '03 May · 14:33', 'REVIEW', 'ok'], ['+8,400', 'Milestone · NB-219 M3', '02 May · 11:00', 'GRANT', 'accent'], ['-200', 'Bounty · ES translation', '01 May · 18:50', 'BOUNTY', 'warn'], ['+62', 'Citation tip · A. Patel', '30 Apr · 21:18', 'TIP', 'default'], ['-18.00', 'Storage rent · 482 GB', '30 Apr · 08:00', 'STORAGE', 'default'], ]; return ( }> } title="Wallet" sub="UBR balance, royalty streams, milestone escrow, and authorized contracts." actions={<> Receive Send Bridge } />
{/* Hero balance */}
BALANCE · UBR
12,840.42
≈ $4,212 USD · 1 UBR ≈ $0.328
SPENDABLE 9,840 STAKED 2,400 ESCROW 600
+11,184
↑ 38% vs prior · 5 sources
-1,842
compute · storage · bounties
AmountMemoWhenKind
{txs.map((t, i) => { const positive = t[0].startsWith('+'); return (
{t[0]} {t[1]} {t[2]} {t[3]}
); })}
{[ ['Publication royalty splitter', 'auto', 'ok'], ['Compute marketplace', 'cap 200/d', 'ok'], ['Storage rent · IPFS', 'cap 50/mo', 'ok'], ['UCSF treasury (grant)', 'inflow only', 'ok'], ['Reviewer escrow', 'auto', 'ok'], ['VitaDAO voting', 'sign per tx', 'warn'], ].map((c, i) => (
{c[0]}
{c[1]}
{c[2] === 'ok' ? 'ALLOW' : 'PROMPT'}
))}
YIELDING · 7.2% APY · ucsf-weill-01 validator
Manage stake →
); } // ──────────────────────────────────────────────────── REVIEWER HUB ─────────── function ReviewerHubDapp() { return ( }> } title="Reviewer Hub" sub="Open assignments, claimable bounties, and your reviewer reputation. Reviews boost your TIS — rejections without rationale cost it." actions={<> Browse open papers Set my expertise } />
{/* KPI strip */}
{[['Reviews · all-time', '91'], ['Avg quality score', '4.6 / 5'], ['Median turnaround', '8.4d'], ['Earned · all-time', '6,420 UBR'], ['TIS contribution', '+8.2 pts']].map((s, i) => (
{s[0].toUpperCase()}
{s[1]}
))}
{[ { id: 'DRAFT·219', t: 'Sleep-state classification from astrocyte calcium dynamics', from: 'Springer-Nature · Cell Reports', due: 'overdue 1d', reward: '90', bounty: '240', tone: 'bad' }, { id: 'DRAFT·092', t: 'Glia-pruning regulators in murine neocortex', from: 'eLife', due: 'due 4d', reward: '60', bounty: '120', tone: 'warn' }, { id: 'DRAFT·541', t: 'Open imaging benchmark v3 · 14 sites', from: 'Cold-spring · Open', due: 'due 11d', reward: '60', bounty: '80', tone: 'ok' }, ].map((r, i, arr) => (
{r.id} {r.due}
{r.t}
{r.from}
+{r.reward} UBR
+{r.bounty} bounty
Decline Open paper Begin review
))}
{[ ['Reproducibility · dPID·c401.07', 'replicate full', '480'], ['Translation · dPID·a92f.04 → ZH', 'native level', '160'], ['Counter-review · DRAFT·077', 'unbias check', '120'], ['Code audit · ipfs://QmK9…', 'security', '320'], ['Negative-result re-run · NB-088', '3 cohorts', '210'], ['Methods clarification · DRAFT·112', 'short', '40'], ].map((b, i, arr) => (
{b[0]}
{b[1]}
{b[2]} UBR Claim
))}
4.62 /5
91 reviews · 14 disputed · 2 upheld against me
{[['Constructiveness', 0.92], ['Calibration', 0.88], ['Speed', 0.78], ['Bias resistance', 0.86]].map(([k, v]) => (
{k}{Math.round(v * 100)}
))} {[ ['Reveal name on accept', false], ['Reveal name on reject', false], ['Show reviews on TRID', true], ['Allow citations of my reviews', true], ].map(([k, on], i) => (
{k} {on ? 'ON' : 'OFF'}
))}
{[ ['M. Yamamoto (RIKEN)', 'co-author × 2024'], ['L. Singh (UCSF)', 'same lab'], ['B. Ortega (Janelia)', 'past supervisor'], ].map((c, i) => (
{c[0]} {c[1]}
))} Add manual exclusion
); } // ──────────────────────────────────────────────────────── PATENTS / IP-NFT ─── function PatentsDapp() { const ip = [ { id: 'IP-NFT·0x91c2', t: 'Astrocyte-targeted optogenetic actuator (AAV9-GFAP-ChR2-mScarlet)', kind: 'IP-NFT', stage: 'GRANTED', country: 'US', filed: '2024-03-12', granted: '2025-11-04', license: '2 active', revenue: '8,420', tone: 'accent' }, { id: 'IP-NFT·0x44e2', t: 'Method for reproducibility-weighted citation indexing', kind: 'IP-NFT', stage: 'PENDING', country: 'PCT', filed: '2025-01-08', granted: '—', license: '0', revenue: '0', tone: 'warn' }, { id: 'PAT·EP-22910', t: '2-photon imaging rig with on-chain calibration ledger', kind: 'CLASSIC', stage: 'GRANTED', country: 'EP', filed: '2022-08-19', granted: '2024-06-30', license: '4 active', revenue: '14,180', tone: 'ok' }, { id: 'IP-NFT·0xff14', t: 'Hardware-secured ZK identity dongle for SBT-DID issuance', kind: 'IP-NFT', stage: 'PROVISIONAL', country: 'US', filed: '2026-02-02', granted: '—', license: '0', revenue: '0', tone: 'default' }, ]; return ( }> } title="Patents & IP-NFTs" sub="Mint research IP as on-chain NFTs with programmable royalty splits. Files convert to classic patent applications via authorized filing partners." actions={<> Filing partners Mint IP-NFT } />
{/* KPI strip */}
{[['Active IP', '4', '2 NFT · 2 classic'], ['Granted', '2', '50% grant rate'], ['Pending', '1', 'PCT'], ['License revenue', '22,600', 'UBR · all-time'], ['TIS · IP boost', '+4.1', 'commercialised']].map((s, i) => (
{s[0]}
{s[1]}
{s[2]}
))}
IDTitleKindStageCCFiledRevenue UBRAction
{ip.map((p, i) => (
{p.id}
{p.t}
licenses: {p.license}
{p.kind} {p.stage} {p.country} {p.filed} {p.revenue}
View License
))}
{[ ['Allen Institute · non-exclusive · research-only', '4,200', 'paid · streaming'], ['Neuralink · exclusive option · 18-mo', '4,220', 'option fee · vested 8 / 18'], ].map((l, i) => (
{l[0]} {l[1]} UBR {l[2]}
))}
ROYALTY SPLIT (CONTRACTUAL)
{[['You · 0.42', 0.42, UB.accent], ['Co-inv · 0.28', 0.28, UB.ink], ['UCSF · 0.22', 0.22, '#7CC4F2'], ['Treasury · 0.08', 0.08, '#A8A7A0']].map(([k, w, c], i) => (
{k}
))}
{[ ['Cooley LLP · global', 'NFT → US/PCT/EP'], ['Marks & Clerk · UK + EP', 'NFT → UK/EP'], ['Inoue Pat. · APAC', 'NFT → JP/KR/CN'], ['IPzero (DAO)', 'community defense'], ].map((p, i) => (
{p[0]} {p[1]}
))}
); } // ────────────────────────────────────────────────── DISCOVERY & INDEXING ───── function DiscoveryDapp() { const results = [ { dpid: 'dPID·91c2.03', t: 'Astrocyte calcium signaling encodes sleep depth — RIKEN replication of Harriot 2024', authors: 'Yamamoto · Tanaka · Mori · +4', tis: 88, cites: 14, repro: 'REPLICATED ✓', when: '2 weeks', tone: 'ok' }, { dpid: 'dPID·08fa.01', t: 'A reproducibility-weighted citation index — extension to clinical trials', authors: 'Patel · Lin · Harriot', tis: 81, cites: 8, repro: 'IN PROGRESS', when: '1 mo', tone: 'warn' }, { dpid: 'dPID·44e2.05', t: 'Glia heterogeneity beyond morphology — multi-omic atlas v2', authors: 'Singh · Okafor · Harriot', tis: 79, cites: 22, repro: 'REPLICATED ✓ ×3', when: '2 mo', tone: 'ok' }, { dpid: 'DRAFT·812', t: 'Negative result: μ-glia ablation does not impair LTP recall (Yamamoto)', authors: 'Yamamoto · Mori', tis: 72, cites: 0, repro: 'PRE-REVIEW', when: '4d', tone: 'default' }, { dpid: 'dPID·17c0.03', t: 'Cortical microcircuit motifs across 14 species', authors: 'Harriot · +6', tis: 84, cites: 11, repro: 'REPLICATED ✓', when: '6 mo', tone: 'ok' }, { dpid: 'dPID·c019.04', t: 'Open imaging benchmark v3 · 14 sites · ~482 GB', authors: 'OpenImaging Consortium', tis: 86, cites: 38, repro: 'INFRASTRUCTURE', when: '3 mo', tone: 'accent' }, ]; return ( }> } title="Discovery" sub="Search the entire UB-Chain index — papers, datasets, notebooks, IP, reviews. Ranked by reproducibility and TRID, not impact factor." actions={<> Saved searches · 4 Save this query } />
{/* Filters rail */}
{/* Search input */}
QUERY
astrocyte AND sleep
↳ 1,418 hits · 0.04s
{[ ['ARTIFACT', [['Papers', 612, true], ['Datasets', 340, true], ['Notebooks', 218, false], ['IP-NFTs', 18, false], ['Reviews', 230, true]]], ['REPRO STATUS', [['Replicated', 312, true], ['Refuted', 22, true], ['In progress', 88, true], ['None', 996, false]]], ['TIS · AUTHOR', [['≥ 90', 84, false], ['80 – 90', 412, true], ['70 – 80', 612, true], ['< 70', 310, false]]], ['DATE', [['7 days', 14], ['30 days', 92], ['90 days', 304], ['1 year', 740], ['All time', 1418]]], ].map(([title, items]) => (
{title}
{items.map(([k, n, on]) => (
{k} {n}
))}
))}
{/* Results */}
1,418 results · sort by{' '} repro-weighted relevance · TIS-tilted on
LISTGRAPHTIMELINE
{results.map((r, i) => (
{r.dpid} {r.repro} · {r.when} ago
{r.t}
{r.authors}
Save Open
))}
); } window.AITwinDapp = AITwinDapp; window.WalletDapp = WalletDapp; window.ReviewerHubDapp = ReviewerHubDapp; window.PatentsDapp = PatentsDapp; window.DiscoveryDapp = DiscoveryDapp;