1. Inspiration
Heart-related diseases are an important health concern, and understanding the factors associated with coronary artery disease can be difficult for people without a medical or technical background. Machine learning can help analyze clinical data and identify patterns associated with a disease, but predictions alone may not be easy to understand.
We wanted to explore how AI predictions could be presented in a more understandable and interactive way. This idea led us to develop CardioVista AI, a web-based prototype that combines machine learning, model explainability, and interactive 3D heart visualization.
Our main motivation was to go beyond displaying a simple prediction result. We wanted to build an application where users could explore the model's output, understand which input features influence its predictions, and learn about the coronary arteries through a visual interface.
2. What We Built
CardioVista AI is an AI-powered educational prototype designed to estimate the likelihood of coronary artery disease (CAD) using clinical features from the Extension of the Z-Alizadeh Sani dataset. It also provides predictions for three coronary artery targets: the Left Anterior Descending (LAD), Left Circumflex (LCX), and Right Coronary Artery (RCA).
The application includes several components:
- AI-Based Prediction: Accepts clinical feature values and provides predictions using the trained machine learning model.
- Interactive 3D Heart Visualization: Provides a visual way to explore the heart and its major coronary arteries.
- Model Explainability: Displays information intended to help users understand how input features contribute to model predictions.
- Model Performance and Reliability Information: Presents available evaluation information, such as sample counts and a confusion matrix, to help users assess the model's limitations.
- Case Report Export: Allows users to export case information as JSON and access a printable report.
- Medical Safety Notice: Clearly explains that the application is an educational and research prototype and must not be used as a substitute for professional medical advice or diagnosis.
By bringing these components together, we aimed to make the application more informative than a basic prediction interface.
3. How We Built It
We developed CardioVista AI using a combination of machine learning, backend development, frontend development, and 3D visualization technologies.
The frontend was built using React and TypeScript. It provides the interface for entering clinical features, viewing prediction results, exploring model information, and interacting with the visualization. Three.js is used for the interactive 3D component.
The backend was developed using FastAPI to handle requests from the frontend and return prediction results. The machine learning component uses the selected dataset to support model training and inference.
We paid particular attention to preventing target leakage during model development. The Cath, LAD, LCX, and RCA outcome columns were excluded from the predictor inputs so that the model would not receive the outcomes it is intended to predict. This is important for creating a more meaningful evaluation of the model.
We also worked on connecting the frontend and backend, checking API responses, resolving frontend build issues, and integrating the different components into one application. The project was maintained in Git and pushed to GitHub so that its code could be accessed and reviewed.
4. Challenges We Faced
One of the main challenges was integrating several technologies into a single working application. Machine learning, API development, frontend components, and 3D visualization each required different approaches, and making them work together required careful testing.
Another challenge was presenting medical information responsibly. A prediction can appear convincing even when a model has limitations, so we needed to communicate that the results are estimates rather than confirmed medical findings. We also had to consider the risk of target leakage and the importance of presenting model-performance information transparently.
Designing the 3D heart visualization was another challenge. We wanted the visual representation to be interactive and useful for learning while avoiding the impression that it was a patient-specific anatomical scan. We therefore treated it as an educational visualization rather than a clinical imaging system.
During development, we tested the backend endpoints, checked the frontend production build, and verified communication between the frontend and backend. These checks helped us identify integration problems and improve the overall structure of the application.
5. What Makes Our Approach Useful
CardioVista AI brings together three important aspects of an AI application: prediction, explainability, and visualization.
Instead of showing only a predicted result, the application provides additional information about the model and its evaluation. The 3D visualization offers a more interactive way to explore coronary anatomy, while the explainability component helps users examine the factors associated with a prediction.
We also considered responsible AI use during development. The dataset contains only 303 cases from a specific clinical setting, so its results cannot automatically be generalized to every population or healthcare environment. We have not treated the prototype as a clinically validated diagnostic system.
Our focus was to create a functional demonstration of how AI predictions and visual explanations can be combined in a single web application.
6. What We Learned
Working on CardioVista AI helped us understand how a machine learning model becomes part of a complete software application. We learned that building an AI project involves much more than training a model. It also requires data preparation, careful selection of input features, backend integration, frontend design, testing, and clear communication of limitations.
We gained practical experience with React, TypeScript, FastAPI, API integration, and interactive 3D visualization. We also learned why target leakage can make model evaluation misleading and why explainability and transparent performance reporting matter when working with healthcare-related data.
Another important lesson was that a good user interface should help users understand information without overstating what the technology can do. Responsible presentation is especially important in healthcare-related applications.
7. Future Scope
There are several ways CardioVista AI could be improved in the future. The model could be evaluated using larger and more diverse datasets, with suitable validation methods to determine how well its performance generalizes beyond the original data.
The explainability component could be expanded to provide clearer descriptions of individual predictions, provided those explanations are supported by the underlying model. The 3D visualization could also be improved to provide more anatomically accurate educational exploration.
Further work could include more extensive automated testing, better accessibility, and additional documentation describing the dataset, evaluation process, and model limitations.
Any consideration of clinical use would require independent clinical validation, expert review, assessment on representative populations, and compliance with applicable medical-device and data-protection requirements.
8. Conclusion
CardioVista AI is our attempt to make machine learning predictions more understandable through a combination of AI, explainability, and interactive visualization. By connecting a machine learning backend with a modern web interface, we created a prototype that demonstrates how these technologies can work together in a healthcare-related educational setting.
The project helped us improve our technical skills and understand the importance of responsible AI development. Although CardioVista AI is not a clinically validated diagnostic tool, it provides a foundation for further learning and experimentation in interpretable machine learning and medical visualization.
Log in or sign up for Devpost to join the conversation.