Inspiration

Cardiovascular disease is a major global health concern, and machine learning offers opportunities to explore patterns in clinical data. We were inspired to build CardioAI, an AI-powered educational prototype that explores coronary artery disease (CAD) and vessel-specific predictions for the LAD, LCX, and RCA arteries. We also wanted to make model predictions more interpretable rather than presenting only a risk score.

What it does

CardioAI combines a web dashboard with machine learning models to explore CAD and coronary-vessel prediction tasks. It aims to provide probability estimates, display contributing clinical features through explainable AI techniques such as SHAP, and help users understand how predictive models process structured patient measurements.

How we built it

We built the frontend using React and Vite and developed a Python backend using FastAPI. We used Scikit-learn and XGBoost for machine learning and SHAP for model explanations. We organized the project into separate frontend, backend, model, and testing components to make development and maintenance easier.

We evaluated our models using a nested cross-validation approach to better assess their performance and reduce the risk of relying on a single train-test split. We also developed an API to validate incoming measurements and return predictions and explanations to the frontend.

Challenges we faced

One of our main challenges was building a consistent pipeline between the trained models and the web application. The API needed to use the same feature schema as the models, validate inputs, load the correct model artifacts, and handle multiple prediction targets. Another challenge was deployment: packaging scientific Python and explainability dependencies within free hosting limits required additional investigation.

What we learned

This project helped us understand that building an AI application involves more than training a model. Reliable evaluation, input validation, explainability, frontend-backend integration, and deployment are all important parts of creating a useful prototype. We also learned to communicate model limitations clearly and avoid treating machine learning predictions as definitive medical conclusions.

What's next

Our next steps are to complete and verify the public backend deployment, test the full prediction workflow from the live frontend, improve error handling, and continue evaluating the models on appropriate data.

Responsible use

CardioAI is an educational and research prototype, not a clinically validated diagnostic tool. Its predictions are not intended to diagnose disease or guide treatment decisions. Clinical use would require further validation, appropriate clinical oversight, and assessment on suitable independent datasets.

Built With

Share this project:

Updates

Submission history