Inspiration

I'm a general practitioner who loves data and wanted AI to write the SQL for me. Every clinician has questions the literature doesn't quite answer — but chasing them down means finding a bioinformatician or learning SQL yourself, so most of that curiosity just dies.

What it does

ClinicalxCraft lets clinicians and med students explore genomic and clinical data themselves, no bioinformatician middleman required. It's for the step before a systematic research project — fast, low-stakes exploration to see if a hunch is worth chasing.

Two ways in: a free-text version where you type any question about a TCGA cancer cohort and watch the model investigate live — hypothesis, real queries, evidence, caveats. And a dashboard version that opens on a live cohort snapshot instead of a blank box, so you see the data first, then one click turns "huh, interesting" into a scoped follow-up.

How we built it

  • CRAFT (Emergence AI's MCP server) is the entire data layer — schema discovery, NL-to-SQL, and execution against the TCGA Pan-Cancer Atlas in Snowflake. The model never hand-writes SQL.
  • Nebius Token Factory hosts the reasoning model (NVIDIA Nemotron 3 Super) that orchestrates the investigation.
  • Two Streamlit front ends share one agent core — a free-text investigator and a dashboard that fetches deterministic cohort stats up front as context for follow-ups.
  • Claude Code was the build partner throughout, including live data verification.

Challenges we ran into

  • The clinical table is a 746-column pan-cancer union schema, mostly null for any single cohort — we audited what's actually populated and baked it into the system prompt so the model doesn't burn turns rediscovering it.
  • Some genomic tables look populated but are sparse: copy-number data checked out to roughly one patient per gene.
  • An OAuth bug where our local callback listener accepted any stray request (like a browser favicon fetch) as the real login redirect, causing intermittent state-mismatch failures.
  • CRAFT's result endpoints returned transient errors, so we added retry-with-backoff instead of surfacing a hard failure mid-investigation.
  • Mid-hackathon we pivoted the demo cohort from pancreatic to kidney cancer (KIRC) after confirming it's the most deeply-covered cohort in the atlas — a stronger demo.

Accomplishments that we're proud of

  • Zero hand-written SQL anywhere — every query is schema-bound and auditable.
  • Every report ships with its reasoning trace and generated SQL, plus explicit caveats.
  • Two UX flows, one backend, no duplicated logic.
  • Verified against live data: results reproduce known published biology (KRAS/TP53/SMAD4/CDKN2A; the VHL→HIF→mTOR axis).

What we learned

  • The bottleneck in a clinical data tool isn't the AI's reasoning — it's the schema.
  • Trust here has to be earned with a visible SQL trail and honest caveats, not a confident paragraph.
  • Seeing the data before asking anything measurably changes what you think to ask.

What's next for ClinicalxCraft

Real clinical validation, not just internal testing — I'm showing this to a friend who's a Genetic Nephrologist at MGH, both for his read on the KIRC/VHL findings and on whether "explore before you commit" matches how clinicians actually work. Beyond that: extending past the Pan-Cancer Atlas to other datasets clinicians can't easily query today — the Imaging Data Commons is the natural next target.

Built With

  • emergence
  • nebius
Share this project:

Updates

Submission history