-
-
Explainability tab: Exact SHAP feature attributions broken down by clinical domain and physiological factor.
-
Focus Mode: Selecting the LAD artery zooms the camera, dims other branches, and highlights supplied territory.
-
Clinical Dashboard & 3D Explorer: Live inputs, calibrated risk predictions, and dynamic vessel coloring.
-
Thoracic view: Anatomical heart and coronary tree positioned inside the BodyParts3D rib cage and spine.
Inspiration
Cardiovascular disease remains the leading cause of death globally. In outpatient triage, physicians evaluate dozens of non-invasive variables—ECG tracings, symptoms, echocardiograms, and blood work—to decide if a patient needs an invasive catheterization. However, raw risk percentages fail to give clinicians or patients an intuitive, spatial understanding of where disease is developing. We built Coronary Risk Explorer to connect non-invasive predictive AI, clinical interpretability, and real-time 3D anatomical visualization into an interactive decision-support tool.
What it does
Coronary Risk Explorer predicts overall Coronary Artery Disease (CAD, the dataset's Cath label) and >= 50% stenosis of the three major coronary arteries (LAD, LCX, RCA) from 54 routine clinical parameters:
- Interactive 3D Anatomical Mapping: Visualizes the heart, thorax, and coronary tree using anatomical meshes derived from BodyParts3D (CC BY 4.0). Artery branches are dynamically recolored based on calibrated risk using custom WebGL shaders showing pulsatile blood flow, risk glow, and heartbeat synchronization matching the patient's entered pulse rate.
- Fast In-Browser Inference: Real-time scoring (~60 ms) without requiring dedicated GPUs (1.7 ms GPU frame time on integrated Intel Arc graphics).
- Exact Explainability: Computes real-time SHAP feature attributions decomposing risk into domain-level contributions (ECG, Echocardiography, Labs, History) with standard physiological adult ranges.
- Clinical Safety & Decision Thresholds: Built-in threshold explorer (rule-out vs. balanced presets), Cath-vs-vessel consistency warnings, and prominent clinical disclaimers.
How we built it
- ML Pipeline: Built across 8 reproducible notebooks using the UCI Extension of Z-Alizadeh Sani benchmark (303 patients). We evaluated Logistic Regression, SVMs, Random Forests, XGBoost, and LightGBM across repeated 5x5 stratified CV, tuning hyperparameters via nested Optuna TPE. A 61-patient holdout was strictly sealed until final evaluation, achieving 0.854 ROC-AUC (Cath) and 0.794 ROC-AUC (LAD) with 2,000-resample bootstrap 95% CIs.
- Calibration: Applied out-of-fold Platt scaling so probabilities reflect real-world event frequencies.
- Backend: FastAPI microservice with Pydantic validation schemas, per-response CSP nonces, rate limiting, and 39 automated tests covering API contracts, leakage prevention, and SHAP additivity.
- Frontend & 3D: Three.js WebGL rendering, GSAP ScrollTrigger animations, custom GLSL shaders, and responsive UI with zero build-step overhead.
Challenges we ran into
- Small-sample clinical constraints: Managing a 303-patient dataset required strict nested cross-validation and sealed holdouts to prevent target leakage and over-optimism.
- Anatomical reconstruction: BodyParts3D models ventricle cavities only as blood volumes; we algorithmically reconstructed the outer ventricular surface based on local wall thickness and coronary proximity.
- Low-latency real-time SHAP: Optimized single-threaded TreeExplainer scoring to deliver exact attributions in ~60 ms without worker-pool overhead.
Accomplishments that we're proud of
- Meeting all 5 requirements of Track A with a production-hardened web application.
- Producing an honest, clinically grounded model with bootstrap confidence intervals and calibration slopes near 1.0.
- Creating an interactive 3D WebGL experience that runs at 60 fps on standard integrated graphics.
What we learned
Evaluating clinical machine learning requires prioritizing validation methodology, calibration, and explainability over black-box complexity.
What's next
Exploring multi-modal integration with angiographic video datasets (such as AngioCAD) for segment-level multi-vessel validation.
Built With
- docker
- fastapi
- gsap
- html5
- javascript
- optuna
- python
- scikit-learn
- shap
- three.js
- webgl
- xgboost
Log in or sign up for Devpost to join the conversation.