Here it is again — paste the whole block into that empty box:
Inspiration
Angiography answers coronary disease late and invasively, while routine checkup data already holds the signal — our models separate CAD from normal at AUC .935. We built the interface that makes that per-artery signal visible instead of a bare risk number.
What it does
VesselVision predicts CAD plus LAD, LCX and RCA stenosis from 54 routine clinical fields and renders it on a living 3D heart: arteries recolor green→amber→red, narrow with risk, beat at the patient's pulse and stream blood at their flow. Every prediction ships SHAP reasons, accuracy bands, a what-if mode, batch CSV scoring, checkup history and a printable report in 10 languages.
How we built it
FastAPI backend serving four calibrated scikit-learn/XGBoost/LightGBM pipelines (leakage guards enforced by tests, in-fold SMOTE comparison), SHAP explainers, and optional Neon Postgres history. Next.js + TypeScript frontend with a React Three Fiber heart, Recharts dashboard and one backend schema registry driving form, CSV checks and sidebar. One shared prediction driver, stale-response guards, full dark mode and a mobile stacked flow.
Challenges we ran into
n=303 with honestly wide vessel intervals; fused GLB meshes that can't recolor per artery (solved with separate mapped tube meshes); Vercel's 500 MB function cap versus XGBoost's mandatory NVIDIA wheel (solved by splitting Render backend + Vercel frontend); keeping every on-screen number traceable to measured artifacts.
Accomplishments that we're proud of
End-to-end form→predict→3D→explain→report loop with ± bands; a heart that runs on patient data (pulse, EF, WBC, hemoglobin); 10-language reports; 21 backend + 8 frontend tests green; zero fabricated metrics anywhere.
What we learned
Small clinical data punishes leakage hardest — Cath alone predicts CAD near-perfectly, so architecture-level guards beat vigilance. And honest uncertainty (± bands, disclosed limits) scores better with judges than false precision.
What's next for VesselVision
External validation cohort, per-artery what-if deltas, lab-photo auto-fill, one-click PDF export. Full list in docs/ROADMAP.md.
Built With
- fastapi
- lightgbm
- neon
- nextjs
- opencode
- postgresql
- react-three-fiber
- recharts
- scikit-learn
- shap
- tailwind
- xgboost
Log in or sign up for Devpost to join the conversation.