Skip to content

Instantly share code, notes, and snippets.

@daaronr
Created January 9, 2026 22:12
Show Gist options
  • Select an option

  • Save daaronr/c89739ede27113b184310d8be861dc66 to your computer and use it in GitHub Desktop.

Select an option

Save daaronr/c89739ede27113b184310d8be861dc66 to your computer and use it in GitHub Desktop.
Cultured Meat PQ Evaluators - Expert Network Visualization for Unjournal
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cultured Meat PQ Evaluators Map</title>
<script src="https://cdn.plot.ly/plotly-2.27.0.min.js"></script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
color: #e6edf3;
min-height: 100vh;
}
.container { max-width: 1400px; margin: 0 auto; padding: 20px; }
h1 { text-align: center; margin-bottom: 5px; font-size: 1.8em; color: #7ee8fa; }
.subtitle { text-align: center; color: #8b949e; margin-bottom: 20px; font-size: 0.95em; }
#plotArea { width: 100%; height: 550px; border-radius: 12px; background: #161b22; }
.expert-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
margin-top: 20px;
}
.category-card {
background: #161b22;
border-radius: 12px;
padding: 18px;
border-left: 4px solid;
}
.category-card.bio { border-color: #00d4aa; }
.category-card.tea { border-color: #ffa500; }
.category-card.econ { border-color: #4a9eff; }
.category-card.welfare { border-color: #ff6b9d; }
.category-card h3 {
font-size: 1em;
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 8px;
}
.category-card h3 .icon {
font-size: 1.2em;
}
.category-card.bio h3 { color: #00d4aa; }
.category-card.tea h3 { color: #ffa500; }
.category-card.econ h3 { color: #4a9eff; }
.category-card.welfare h3 { color: #ff6b9d; }
.expert-list {
list-style: none;
}
.expert-list li {
padding: 8px 0;
border-bottom: 1px solid #30363d;
display: flex;
justify-content: space-between;
align-items: center;
}
.expert-list li:last-child { border-bottom: none; }
.expert-name { font-weight: 500; color: #fff; }
.expert-affiliation { font-size: 0.85em; color: #8b949e; }
.expert-focus {
font-size: 0.75em;
background: #30363d;
padding: 3px 8px;
border-radius: 12px;
color: #c9d1d9;
}
.papers-section {
background: #161b22;
border-radius: 12px;
padding: 20px;
margin-top: 20px;
}
.papers-section h3 {
color: #58a6ff;
margin-bottom: 15px;
font-size: 1.1em;
}
.paper-item {
background: #21262d;
padding: 12px;
border-radius: 8px;
margin-bottom: 10px;
}
.paper-item:last-child { margin-bottom: 0; }
.paper-title { font-weight: 500; margin-bottom: 5px; }
.paper-meta {
display: flex;
gap: 15px;
font-size: 0.85em;
color: #8b949e;
}
.relevance {
font-weight: 600;
padding: 2px 8px;
border-radius: 4px;
}
.relevance.high { background: #238636; color: white; }
.relevance.medium { background: #9e6a03; color: white; }
.legend-row {
display: flex;
justify-content: center;
gap: 30px;
margin-top: 15px;
flex-wrap: wrap;
}
.legend-item {
display: flex;
align-items: center;
gap: 8px;
font-size: 0.9em;
}
.legend-dot {
width: 14px;
height: 14px;
border-radius: 50%;
}
@media (max-width: 768px) {
.expert-grid { grid-template-columns: 1fr; }
}
</style>
</head>
<body>
<div class="container">
<h1>Cultured Meat Pivotal Question Evaluators</h1>
<p class="subtitle">Expert network for evaluating techno-economic analyses of cell-cultured meat production</p>
<div id="plotArea"></div>
<div class="legend-row">
<div class="legend-item">
<div class="legend-dot" style="background: #00d4aa;"></div>
<span>Cell Biology / Bioengineering</span>
</div>
<div class="legend-item">
<div class="legend-dot" style="background: #ffa500;"></div>
<span>TEA / Cost Analysis</span>
</div>
<div class="legend-item">
<div class="legend-dot" style="background: #4a9eff;"></div>
<span>Food/Ag Economics</span>
</div>
<div class="legend-item">
<div class="legend-dot" style="background: #ff6b9d;"></div>
<span>Animal Welfare / Impact</span>
</div>
<div class="legend-item">
<div class="legend-dot" style="background: #c9a0dc;"></div>
<span>Multi-domain Overlap</span>
</div>
</div>
<div class="expert-grid">
<div class="category-card bio">
<h3><span class="icon">🧬</span> Cellular Agriculture & Bioengineering</h3>
<ul class="expert-list">
<li>
<div>
<div class="expert-name">David Kaplan</div>
<div class="expert-affiliation">Tufts University - TUCCA Director</div>
</div>
<span class="expert-focus">Scale-up</span>
</li>
<li>
<div>
<div class="expert-name">Andrew Stout</div>
<div class="expert-affiliation">Tufts Biomedical Engineering</div>
</div>
<span class="expert-focus">Cell lines</span>
</li>
<li>
<div>
<div class="expert-name">Elliot Swartz</div>
<div class="expert-affiliation">GFI Senior Principal Scientist</div>
</div>
<span class="expert-focus">Cultivated meat</span>
</li>
<li>
<div>
<div class="expert-name">Amy Rowat</div>
<div class="expert-affiliation">UCLA (USDA/NSF grantee)</div>
</div>
<span class="expert-focus">Research</span>
</li>
<li>
<div>
<div class="expert-name">Frederico Ferreira</div>
<div class="expert-affiliation">IST Lisbon (Horizon Europe)</div>
</div>
<span class="expert-focus">€7.6M consortium</span>
</li>
</ul>
</div>
<div class="category-card tea">
<h3><span class="icon">📊</span> Techno-Economic Analysis</h3>
<ul class="expert-list">
<li>
<div>
<div class="expert-name">David Humbird</div>
<div class="expert-affiliation">Process Consultant (Open Phil funded)</div>
</div>
<span class="expert-focus">Foundational TEA</span>
</li>
<li>
<div>
<div class="expert-name">Risner et al.</div>
<div class="expert-affiliation">Academic TEA researchers</div>
</div>
<span class="expert-focus">Complete TEA</span>
</li>
<li>
<div>
<div class="expert-name">Negulescu</div>
<div class="expert-affiliation">Large-scale bioreactor modeling</div>
</div>
<span class="expert-focus">>25,000L systems</span>
</li>
<li>
<div>
<div class="expert-name">Amanda Hildebrand</div>
<div class="expert-affiliation">GFI VP Science & Technology</div>
</div>
<span class="expert-focus">Industry outlook</span>
</li>
<li>
<div>
<div class="expert-name">Lever VC Team</div>
<div class="expert-affiliation">Investment research (2025 report)</div>
</div>
<span class="expert-focus">Cost tracking</span>
</li>
</ul>
</div>
<div class="category-card econ">
<h3><span class="icon">📈</span> Food & Agricultural Economics</h3>
<ul class="expert-list">
<li>
<div>
<div class="expert-name">Jayson Lusk</div>
<div class="expert-affiliation">Prominent meat demand researcher</div>
</div>
<span class="expert-focus">Substitution</span>
</li>
<li>
<div>
<div class="expert-name">Zachary Neuhofer</div>
<div class="expert-affiliation">Purdue University</div>
</div>
<span class="expert-focus">Scanner data</span>
</li>
<li>
<div>
<div class="expert-name">Shuoli Zhao & Yuqing Zheng</div>
<div class="expert-affiliation">University of Kentucky</div>
</div>
<span class="expert-focus">PBMA demand</span>
</li>
<li>
<div>
<div class="expert-name">Matin Qaim</div>
<div class="expert-affiliation">University of Bonn</div>
</div>
<span class="expert-focus">Food systems</span>
</li>
<li>
<div>
<div class="expert-name">V. Caputo</div>
<div class="expert-affiliation">Consumer preferences research</div>
</div>
<span class="expert-focus">Choice experiments</span>
</li>
</ul>
</div>
<div class="category-card welfare">
<h3><span class="icon">🐄</span> Animal Welfare & Cost-Effectiveness</h3>
<ul class="expert-list">
<li>
<div>
<div class="expert-name">Bob Fischer</div>
<div class="expert-affiliation">Rethink Priorities / Texas State</div>
</div>
<span class="expert-focus">Moral weights</span>
</li>
<li>
<div>
<div class="expert-name">Saulius Šimčikas</div>
<div class="expert-affiliation">Former Rethink Priorities</div>
</div>
<span class="expert-focus">Cost-effectiveness</span>
</li>
<li>
<div>
<div class="expert-name">ACE Research Team</div>
<div class="expert-affiliation">Animal Charity Evaluators</div>
</div>
<span class="expert-focus">Charity eval</span>
</li>
<li>
<div>
<div class="expert-name">Animal Welfare Observatory</div>
<div class="expert-affiliation">Research org</div>
</div>
<span class="expert-focus">Scientific engagement</span>
</li>
</ul>
</div>
</div>
<div class="papers-section">
<h3>Priority Papers for Evaluation (from Unjournal PQ list)</h3>
<div class="paper-item">
<div class="paper-title">Empirical economic analysis shows cost-effective continuous manufacturing of cultivated chicken using animal-free medium</div>
<div class="paper-meta">
<span class="relevance high">91% relevance</span>
<span>TEA + Lab experiment</span>
<span>Needs: TEA expert + Cell engineer</span>
</div>
</div>
<div class="paper-item">
<div class="paper-title">A scoping review of cultivated meat techno-economic analyses to inform future research directions</div>
<div class="paper-meta">
<span class="relevance high">90% relevance</span>
<span>Systematic Review</span>
<span>Needs: TEA expert + General CM knowledge</span>
</div>
</div>
<div class="paper-item">
<div class="paper-title">How much will large-scale production of cell-cultured meat cost?</div>
<div class="paper-meta">
<span class="relevance high">87% relevance</span>
<span>TEA/BOTEC</span>
<span>Needs: Bioreactor design + TEA</span>
</div>
</div>
<div class="paper-item">
<div class="paper-title">Techno-economic modeling: Impact of production bioreactor scale</div>
<div class="paper-meta">
<span class="relevance high">86% relevance</span>
<span>TEA/BOTEC</span>
<span>Needs: Bioprocess engineer</span>
</div>
</div>
<div class="paper-item">
<div class="paper-title">Scale-up economics for cultured meat (Humbird)</div>
<div class="paper-meta">
<span class="relevance medium">81% relevance</span>
<span>Foundational TEA</span>
<span>Already analyzed by GFI, RP</span>
</div>
</div>
</div>
</div>
<script>
// Expert data with coordinates: [name, technical_score, economic_score, size, color, category]
const experts = [
// Bio/Engineering cluster (high technical, low-mid economic)
["David Kaplan", 0.95, 0.3, 18, "#00d4aa", "Tufts TUCCA Director - Scale-up"],
["Andrew Stout", 0.9, 0.25, 15, "#00d4aa", "Tufts - Cell lines"],
["Elliot Swartz", 0.88, 0.4, 16, "#00d4aa", "GFI Principal Scientist"],
["Amy Rowat", 0.85, 0.2, 14, "#00d4aa", "UCLA - USDA/NSF funded"],
["Frederico Ferreira", 0.82, 0.35, 14, "#00d4aa", "IST Lisbon - €7.6M consortium"],
// TEA cluster (high both)
["David Humbird", 0.75, 0.92, 20, "#ffa500", "Open Phil funded TEA - foundational"],
["Risner et al.", 0.7, 0.88, 16, "#ffa500", "Complete TEA methodology"],
["Negulescu", 0.72, 0.85, 14, "#ffa500", "Large bioreactor modeling"],
["Amanda Hildebrand", 0.65, 0.78, 15, "#ffa500", "GFI VP Science & Technology"],
["Lever VC Team", 0.4, 0.9, 14, "#ffa500", "2025 cost tracking report"],
// Economics cluster (low technical, high economic)
["Jayson Lusk", 0.2, 0.95, 18, "#4a9eff", "Meat demand modeling"],
["Zachary Neuhofer", 0.25, 0.88, 15, "#4a9eff", "Purdue - Scanner data"],
["Shuoli Zhao", 0.22, 0.85, 14, "#4a9eff", "U Kentucky - PBMA demand"],
["Matin Qaim", 0.3, 0.9, 16, "#4a9eff", "Bonn - Food systems"],
["V. Caputo", 0.28, 0.82, 14, "#4a9eff", "Consumer preferences"],
// Welfare cluster (mid-low technical, mid economic)
["Bob Fischer", 0.35, 0.65, 17, "#ff6b9d", "RP - Moral weights project"],
["Saulius Šimčikas", 0.3, 0.72, 15, "#ff6b9d", "Former RP - Cost-effectiveness"],
["ACE Team", 0.2, 0.7, 14, "#ff6b9d", "Charity evaluation"],
// Overlap candidates (high both - ideal evaluators)
["GFI + Tufts", 0.8, 0.75, 22, "#c9a0dc", "Cell bank + TEA synthesis"],
["Unjournal synthesis", 0.6, 0.8, 20, "#c9a0dc", "Bridge bio + econ perspectives"],
];
const trace = {
x: experts.map(e => e[1]),
y: experts.map(e => e[2]),
mode: 'markers+text',
type: 'scatter',
marker: {
size: experts.map(e => e[3]),
color: experts.map(e => e[4]),
opacity: 0.85,
line: { width: 1.5, color: 'white' }
},
text: experts.map(e => e[0]),
textposition: experts.map(e => e[1] > 0.5 ? 'left' : 'right'),
textfont: { size: 10, color: 'white' },
hovertext: experts.map(e => `<b>${e[0]}</b><br>${e[5]}<br>Technical: ${(e[1]*100).toFixed(0)}%<br>Economic: ${(e[2]*100).toFixed(0)}%`),
hoverinfo: 'text'
};
// Add quadrant labels
const annotations = [
{ x: 0.9, y: 0.15, text: "Cell Bio<br>Specialists", showarrow: false, font: { size: 11, color: '#00d4aa' } },
{ x: 0.85, y: 0.95, text: "TEA<br>Experts", showarrow: false, font: { size: 11, color: '#ffa500' } },
{ x: 0.15, y: 0.95, text: "Agricultural<br>Economists", showarrow: false, font: { size: 11, color: '#4a9eff' } },
{ x: 0.15, y: 0.55, text: "Welfare<br>Researchers", showarrow: false, font: { size: 11, color: '#ff6b9d' } },
{ x: 0.65, y: 0.75, text: "🎯 Sweet Spot", showarrow: false, font: { size: 12, color: '#c9a0dc' } },
];
const layout = {
xaxis: {
title: { text: '← Economics Focus | Technical/Bio Focus →', font: { color: '#8b949e' } },
range: [0, 1],
gridcolor: 'rgba(255,255,255,0.1)',
tickfont: { color: '#8b949e' },
showgrid: true,
zeroline: false
},
yaxis: {
title: { text: '← Domain Expertise | Cost Analysis Focus →', font: { color: '#8b949e' } },
range: [0, 1],
gridcolor: 'rgba(255,255,255,0.1)',
tickfont: { color: '#8b949e' },
showgrid: true,
zeroline: false
},
paper_bgcolor: '#161b22',
plot_bgcolor: '#161b22',
margin: { l: 60, r: 30, t: 30, b: 60 },
annotations: annotations,
shapes: [
// Sweet spot ellipse
{
type: 'circle',
xref: 'x', yref: 'y',
x0: 0.5, y0: 0.6, x1: 0.85, y1: 0.95,
line: { color: 'rgba(201, 160, 220, 0.3)', width: 2, dash: 'dot' },
fillcolor: 'rgba(201, 160, 220, 0.05)'
}
]
};
Plotly.newPlot('plotArea', [trace], layout, {
responsive: true,
displayModeBar: true,
modeBarButtonsToRemove: ['toImage', 'sendDataToCloud']
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment