Skip to content
Michael Ferreyros

Case study

CGT Intelligence Dashboard

Market intelligence for cell and gene therapy: 120 centers, one map, and claims that link to their sources.

One rule holds the whole thing up: "can't find" beats a guess.

Live at market.gateshub.company, behind a login.

The problem

Leadership questions about the cell-and-gene-therapy landscape kept landing on my desk. Who else runs a cGMP facility like ours? Which academic medical centers are building CAR-T programs? Where should we look for partners?

Each question meant another one-off search, and the answer lived with whoever ran it last. A week later it was stale, and nobody could say where a given claim came from.

The fix is not more searching. It is a system that holds the whole landscape in one place, where claims trace to their sources.

What it is

A Next.js web application covering 120 cell-and-gene-therapy centers, tiered by strategic importance. The top tier, 25 centers, carries full analyst profiles: a written read on what the center is, what it can do, and where it sits in the market. The rest carry structured records, with deep research worked through tier by tier, priority centers first. Two front doors:

  • The map. Every center is a pin. Hover a pin and you get a preview; click and it stays open. Geography matters in this field (proximity to patients, to academic medical centers, to manufacturing), so the map is a first-class view, not decoration.
  • The profiles. A center detail page with twelve tabs, from capabilities to strategic position, including a head-to-head vs. our own campus. Not a pile of links: capability claims link to the evidence behind them, so a skeptical reader can check any statement against its source.

Keeping the profiles honest

AI-assisted research at this scale has one failure mode that kills the whole product: confident nonsense. One fabricated capability in one profile and leadership stops trusting all 120.

The discipline is simple. Real data and analysis first, then verified links. If the research cannot find something, the profile says so: "can't find" beats a guess every time. And there is a built-in accuracy check: our own campus is one of the 120. We know the ground truth about ourselves, so whatever the research process gets wrong about us, it can plausibly get wrong about anyone. That is the calibration standard.

A profile you cannot trust is worse than no profile. It just fails slower.

Different questions, different cuts

Past the front doors, the same center is a different object depending on the question. Sometimes the question is a place: the map. Sometimes it is a shortlist: a sortable centers table with a universal filter panel that narrows every view at once. Sometimes it is a head-to-head: a Compare view that puts centers side by side. And sometimes the question is strategic position, so the dashboard carries a Strategy section that runs the landscape through the classic frameworks (Five Forces, Generic Strategies, Blue Ocean, Value Chain) plus an Insights view for what the data implies.

It is the same instinct behind the curated executive news I run at Gates: different leaders need different cuts of the same reality. Here the cuts are views, all drawn from one dataset, so nobody has to dig through someone else's slice to find their own.

Data that cannot leak, by construction

The research carries contact-level and strategic detail that has no business on the open internet. So the system is two repositories, not one. The webapp code lives in one; the research vault (full profiles, the complete dataset, prompts, strategy notes) lives in a private one. The key-personnel data never leaves the vault: production serves a redacted dataset with personnel values stripped, and the codebase carries an anonymized sample dataset so it runs without the intelligence.

Governance by architecture beats governance by policy. A rule can be forgotten; a repo boundary cannot. The rule extends to demos: anything recorded on this page was recorded against production, because only production is guaranteed to serve the redacted data.

Why this counts as accelerating science

Translational medicine is a team sport. The science only moves when the business side (partners, donors, payers, competitors' positions) is understood as clearly as the biology. This dashboard is that understanding, written down and kept: instead of the market landscape living in one person's browser history, it lives in a system any leader can open, cut to their own question, and check against sources.

That is the pattern in most of what I build. Take a recurring question, find the mechanism that answers it, and turn the mechanism into software.

Stack

  • Next.js, deployed on Vercel at market.gateshub.company behind auth middleware
  • MapLibre GL for the map, Recharts for charts, TanStack Table for the centers table, Zustand for state, Tailwind for styling
  • Two-repo data pipeline: private research vault → full dataset locally, redacted dataset in production, anonymized sample in the codebase