Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for GeneCourt
Inspiration
Genetic-variant classification is often taught as a final label: pathogenic, benign, or uncertain. But the real scientific work happens before the label, when people must decide whether two sources address the same condition, whether different assays measure comparable outcomes, and whether a molecular structure supports a mechanism without proving disease causality.
GeneCourt makes that reasoning visible. It turns a real TP53 classification disagreement into a courtroom-style evidence lab where uncertainty is something learners can inspect—not something an AI quietly hides.
What it does
GeneCourt presents two curated variants from the TP53 DNA-binding domain:
- R282Q, the conflict case: a current ClinVar record containing Likely pathogenic and Uncertain significance assertions, a deposited mutant structure, and functional findings whose meaning depends on the biological model and assay.
- R248Q, the calibration control: an expert-panel Pathogenic record showing what a clearer evidence record looks like, without pretending that evidence automatically transfers between variants.
During a hearing, learners can:
- inspect the exact transcript, coding change, protein change, condition, submitter, and assertion date;
- follow a 90-second replay through four evidence perspectives—supporting, challenging, methodology, and population context;
- see both why an exhibit matters and why it does not decide the case;
- focus the affected residue in an interactive 3D protein structure;
- open every evidence card’s source, identifier, admitted source span, retrieval date, and limitation;
- review what is established, disputed, contextual, missing, and unresolved;
- admit a prepared PubMed record and inspect exactly what changed and what remained uncertain; and
- export or print a human-review case file.
The result is not a clinical verdict. It is an interactive lesson in provenance, experimental scope, reproducibility, and calibrated uncertainty.
How we built it
GeneCourt is a strict TypeScript and React application using a Next.js-compatible App Router, compiled with Vinext and deployed as a Cloudflare Worker. Zod contracts connect the curated scientific case store, source adapters, deterministic validators, hearing timeline, server routes, and courtroom UI. Mol* renders locally served PDBx/mmCIF structures, with accessible static fallbacks.
The judging path is deliberately cached and deterministic so every judge receives the same verified evidence in the same order, even if an upstream scientific database or model endpoint is unavailable.
We also implemented a guarded server-side pipeline using the OpenAI Responses API and GPT-5.6:
- GPT-5.6 extracts pending evidence into strict Structured Outputs.
- Deterministic code checks source spans, allowlisted hosts, exact-variant and condition scope, experimental model, endpoint, safety language, and schema validity.
- Only code can promote evidence from pending to verified.
- Four scoped analysis calls examine the same verified record from different perspectives.
- Cross-examination and summary stages may cite only known verified evidence IDs.
- Any refusal, malformed output, unsupported citation, scope violation, or unsafe patient-specific language fails closed to the verified cached case.
The public replay does not pretend to be a live model result. It demonstrates the validated contract that the optional live pipeline must satisfy.
Codex helped with research planning, architecture, typed contracts, source adapters, validator design, UI implementation, testing, and submission preparation. Human decisions remained explicit: selecting the teaching pair, checking primary sources, setting the medical-safety boundary, and deciding which evidence could enter the record.
Challenges we ran into
The hardest problem was preventing plausible prose from outrunning the evidence. ClinVar records may describe different conditions, cell and biochemical assays answer different questions, and PDB author numbering can differ from viewer label numbering. Those details had to become product data rather than footnotes.
We also had to make the hearing dramatic without making it misleading. Autoplay cannot create new evidence, move keyboard focus, or conceal limitations. A newly admitted keratinocyte study can expand one part of the record, but it cannot erase uncertainty across other experimental systems.
Accomplishments that we’re proud of
- Every visible scientific argument resolves to a verified evidence ID and inspectable source record.
- The conflict and control cases stay within one gene and domain, making differences in evidence quality easier to compare.
- The 3D exhibit uses an actual deposited R282Q mutant structure rather than a decorative molecular model.
- Evidence admission produces a deterministic before/after diff that preserves model and endpoint boundaries.
- The core demo is reliable without accounts, patient data, database access, scientific-site availability, or live-model latency.
- The application includes keyboard controls, reduced-motion behavior, accessible source drawers, JSON export, print output, and responsive layouts.
- The release passed 108 automated tests plus typecheck, lint, production build, evidence-integrity evaluation, accessibility, desktop/mobile, reduced-motion, export, print, and browser error checks.
What we learned
Reliable educational AI needs a narrow trust boundary. A model can help organize and challenge perspectives, but admission to a scientific record must remain deterministic, source-grounded, and inspectable. We also learned that uncertainty becomes more teachable when each claim is paired with its limitation rather than buried in a disclaimer.
What’s next for GeneCourt
- Add educator-authored prompts, quizzes, and learning assessments.
- Expand to additional genes only after every case passes the same provenance and structure-mapping gate.
- Add educator approval and persistence around the live-ingestion workflow before classroom or multi-user use.
- Evaluate whether learners improve at distinguishing condition mismatch, assay scope, mechanistic evidence, and clinical evidence.
GeneCourt is an educational and research demonstration. It does not diagnose disease, estimate personal risk, recommend treatment, or autonomously classify patient variants. Expert review is always required.
Built With
- clinvar
- cloudflare-workers
- codex
- gpt-5.6
- molstar
- next.js
- openai-responses-api
- pubmed
- rcsb-pdb
- react
- typescript
- zod
Log in or sign up for Devpost to join the conversation.