Inspiration

Cardiovascular disease is the leading cause of maternal mortality in the United States, yet many of the risk factors that drive it, such as blood pressure, cholesterol, and BMI, are measurable at a routine prenatal visit. We kept asking ourselves: if the data is already there, why aren't more women being flagged earlier?

That question became our project. As a team, we wanted to build something that could genuinely matter to a patient sitting in a waiting room, something that turns numbers from a standard checkup into a clear, actionable signal. H.E.A.R.T. is our answer to that challenge.

What it does

H.E.A.R.T. is an interactive web application that predicts cardiovascular disease risk for women using basic clinical metrics. A user, whether a patient or a healthcare provider, enters a small set of health measurements into a clean, easy-to-use dashboard:

  • Blood pressure (systolic and diastolic)
  • Diabetes risk
  • Oxygen levels
  • Heart risk indicators The app feeds those values into a trained Gradient Boosting Classifier and returns an instant CVD risk prediction, low or high, along with the key factors that drove the result. No medical jargon, no confusing output: just a clear picture of risk that can start a conversation with a doctor.

How we built it

We trained a Gradient Boosting Classifier on clinical health data. Gradient boosting works by building an ensemble of decision trees sequentially, where each new tree corrects the residual errors of the last:

$$F_m(x) = F_{m-1}(x) + \gamma_m \, h_m(x)$$

where $F_{m-1}(x)$ is the current ensemble, $h_m(x)$ is the newly fitted weak learner, and $\gamma_m$ is the learning rate controlling the step size. After $M$ rounds, the model converges on a strong, well-calibrated classifier.

We evaluated performance using accuracy score , measuring how often the model correctly classifies a patient's risk level across all predictions:

$$\text{Accuracy} = \frac{\text{True Positives} + \text{True Negatives}}{\text{Total Predictions}}$$

We tuned hyperparameters (learning rate, tree depth, number of estimators) through cross-validation and reviewed feature importances to ensure the model's decisions were clinically interpretable.

Challenges we ran into

The model came together relatively smoothly. The website did not.

Getting a Python ML pipeline out of a notebook and into a live, user-facing product meant solving a completely different set of problems all at once: model serialization, environment configuration, dependency management, and frontend-to-backend communication. The model worked perfectly locally and broke in deployment, more than once.

Debugging across environments, reconciling package versions, and making sure the serialized model loaded correctly in production were the kinds of problems that don't show up in any tutorial. We learned to read error logs very carefully and lean on each other when one of us hit a wall.

Accomplishments that we're proud of

  • End-to-end delivery: We took the project from raw data all the way to a deployed, working website, a full ML product lifecycle in a short timeframe.
  • Clinically grounded design: Every feature in our model corresponds to a measurement already collected in standard maternal health screenings, making the tool realistic and practical.
  • Interpretable predictions: Beyond just a label, our app surfaces which features most influenced the prediction, giving users something they can actually act on.
  • Accessible UX: We built the interface to be usable by someone with no data science background, which required us to think carefully about how we communicated uncertainty and risk.

What we learned

  • Preprocessing is half the battle. Blood pressure and cholesterol values required careful normalization and handling of outliers before the model could use them reliably.
  • Deployment is a discipline of its own. Shipping a model is a fundamentally different skill from building one, and we came away with deep respect for that gap.
  • Interpretability isn't optional in healthcare. A prediction without an explanation isn't clinically useful. Feature importance scores and clear output language were not afterthoughts, they were part of the product.
  • Framing matters. Designing for maternal health specifically shaped every decision, from which metrics we included to how we worded the results on screen.

What's next for H.E.A.R.T - Helping Every At-Risk Mother Thrive

H.E.A.R.T. is a proof of concept, but the road ahead is meaningful:

  • Expand the feature set to include pregnancy-specific indicators such as gestational age, preeclampsia history, and prior pregnancy complications.
  • Integrate with EHR systems so that predictions can be generated automatically from existing patient data, reducing manual entry and clinical friction.
  • Improve model fairness by auditing performance across racial and socioeconomic subgroups due to maternal health disparities.
  • Partner with clinicians for prospective validation, ensuring the model performs reliably in real-world care settings and meets the bar for clinical decision support.
  • Add longitudinal tracking so users can monitor how their risk profile changes over time with lifestyle or treatment interventions.
  • Turn the website into a easy to use app so users can easily access their metrics from their phone -Educating the youth CVD awareness should be brought up in high school. Health class would be the perfect opportunity for students to learn more about these risks, along with their current curriculum. The name says it all. Every at-risk mother deserves the chance to be seen before a crisis, and we want H.E.A.R.T. to help make that possible.

Built With

Share this project:

Updates