Inspiration

The WHO CNS5 brain tumor classification system is dense, technical, and almost never presented in a form anyone outside neuro-oncology can actually explore. It lives in tables and textbooks, disconnected from the anatomy it describes. At the same time, most "AI + brain tumor" projects default to the same idea: upload a scan, get a diagnosis. That's the riskiest, least differentiated version of this concept, not the most interesting one, and it's not something a portfolio project should attempt without real clinical validation.

We wanted to build the version of this idea that was actually defensible: an atlas you explore, not a scan you upload.

What it does

NeuroScope is an interactive 3D anatomical atlas of brain tumor classification:

  • A procedurally-built 3D brain model with clickable anatomical zones (meninges, ventricles, sellar/pituitary region, pineal region, brainstem, cerebellum), each showing the real WHO CNS5 tumor types that originate there
  • A filterable Classification Explorer covering all 10 WHO CNS5 tumor categories, sorted by grade, typical age group, and benign/malignant status
  • A Grade & Behavior Comparison Tool visualizing the spectrum from benign (grade 1) to malignant (grade 4)
  • An Evidence Overlay that live-queries PubMed and Europe PMC per tumor type, returning real citations, never generated text
  • An Active Research Radar pulling currently recruiting trials from ClinicalTrials.gov and funded research from NIH RePORTER
  • A Global Brain Tumor Burden widget showing real WHO population-level incidence data
  • A Grounded Summary Layer (Gemini free tier) that only ever summarizes abstracts already retrieved, never introducing an outside claim

NeuroScope has no image upload of any kind. It does not accept, analyze, or classify a scan, and it does not diagnose anything. It is an educational atlas, by design.

How we built it

Built with Next.js 14 and TypeScript, developed through Google Antigravity's agentic workflow, same as the rest of our connected project series. The 3D brain is built procedurally with React Three Fiber and Three.js, referencing open anatomical proportion data rather than importing an unlicensed third-party mesh.

Five live external data sources are wired server-side: PubMed/NCBI, Europe PMC, ClinicalTrials.gov, NIH RePORTER, and WHO GHO, each with explicit "source unavailable" fallback rather than a fabricated response on failure. The visual identity, a clinical black-and-blue palette grounded in real radiology-viewer conventions (OHIF, RadiAnt), was a deliberate departure from generic dark-mode defaults, paired with Space Grotesk, Plus Jakarta Sans, and Spline Sans Mono typography.

Challenges we ran into

The clearest challenge was scope, not implementation. Early in planning, the natural next feature was image-based tumor classification: upload a scan, get a result. We turned it down deliberately. Real diagnostic imaging classification is high-risk, heavily regulated medical AI territory, and a confident-looking score attached to someone's real scan is not a simplified feature, it's a wrong answer with good production values. We rebuilt that ambition as a citation-grounded classification atlas instead.

On the technical side, we also hit a real bug worth naming: 3D raycasting initially resolved every click to the outermost mesh (the meninges shell) regardless of where the click landed, because the raycaster's hit order wasn't being handled correctly against nested anatomical zones. Fixed by correcting event propagation and hit-order handling across all zone meshes, then verifying each zone individually rather than trusting that one working zone meant they all did.

Accomplishments that we're proud of

Every tumor classification shown is sourced from the real WHO CNS5 system, and every piece of supporting literature is live-queried and citable, not generated. We're equally proud of the feature we didn't build: choosing a defensible, honest scope over the more "impressive-looking" but scientifically invalid version of this idea.

What we learned

Knowing where the line is matters as much as knowing how to build past it. Constraints, a closed scope, no paid services, no fabricated data, produced a more credible, more differentiated project than an unconstrained version would have. We also learned not to trust a single successful test case (one working zone) as proof the whole interaction pattern works, the raycasting bug only showed up once we checked multiple zones individually.

What's next for NeuroScope

Cross-linking NeuroScope with our other connected clinical-education projects (Recovery Copilot, OvaScope, LymphScope, NeuroFlow, BreatheScope) into one coherent platform, and exploring a formal partnership with a neuro-oncology education program to validate the classification data against current clinical teaching standards.

Built With

  • 3d-visualization
  • clinicaltrials.gov
  • data
  • europe-pmc
  • gemini-api
  • google-antigravity
  • healthcare
  • medical-education
  • ncbi
  • neuro-oncology
  • next.js
  • nih-reporter
  • node.js
  • pubmed
  • react
  • react-three-fiber
  • rest-api
  • tailwind-css
  • three.js
  • typescript
  • vercel
  • visualization
  • webgl
  • who-global-health-observatory
Share this project:

Updates

Submission history