DEV Community

Leman Caliskan
Leman Caliskan

Posted on

Bridging the Gap Between Data and Diagnosis: CardioMetrics Core

CardioMetrics Logo

Honestly, I never planned to build something like CardioMetrics Core. Not at first.

It all started when I went to the hospital’s cardiology clinic. The waiting room was packed. People with high blood pressure, heart issues, so many patients. It was overwhelming.

And I kept thinking: if all these people need monitoring, why isn’t there a simple, accessible way to keep track of heart health at home? So I decided to try creating something myself.


✨ My Approach

I wanted the tool to be simple and functional. Fast, responsive, and easy to interact with—nothing fancy, but still professional.

CustomTkinter ended up being a surprisingly good fit. I added light/dark modes, and the interface started to feel comfortable to use.

One of the key things I focused on was real-time feedback. When users enter values, the app compares parameters like:

  • Systolic Blood Pressure
  • Resting Heart Rate
  • Cholesterol
  • Fasting Blood Sugar

If a measurement is outside the reference range, the progress bar changes color (e.g., Red for high risk, Green for normal).

CardioMetrics Desktop app in Turkish UI

CardioMetrics Desktop app in English UI


🩺 Smart Health Recommendations

Based on the data entered and the calculated risk score, CardioMetrics Core provides personalized suggestions. These aren't generic tips; they respond directly to your measurements:

📊 Score-Based Alerts

  • Critical Risk (Score > 70) 🚨: High cardiovascular risk detected. It’s strongly recommended that you consult a cardiologist immediately and start keeping a regular record of your vitals.
  • Moderate Risk (Score 31–70) 👟: Your heart health shows some areas to watch. A daily 30-minute brisk walk and a Mediterranean-style diet (reducing salt and saturated fats) can make a huge difference.
  • Low Risk (Score ≤ 30) ✅: Your results look good! Maintain your health with regular sleep, hydration, and annual check-ups.

🔍 Parameter Specific Alerts

  • Blood Pressure: High (above 140 mmHg) triggers salt intake warnings, while Low (below 90 mmHg) suggests better hydration.
  • Blood Sugar: High readings (above 120 mg/dL) suggest reducing carbohydrate intake and discussing lifestyle adjustments with a doctor.
  • Cholesterol: High levels (above 240 mg/dL) prompt advice to avoid high-fat foods, while borderline levels suggest dietary shifts.

Note: They’re not the a substitute for professional medical advice, diagnosis, or treatment. It just a simple advices and friendly nudges to support your heart health.


🛠 The Tech Stack & Model

For the backend, I used the Heart Disease Dataset.

  • Core: Python, scikit-learn
  • Models: Logistic Regression, Random Forest
  • UI: CustomTkinter (Desktop) & Streamlit (Web)

The model sits at around %68.29 accuracy. It’s not a medical diagnosis tool; it’s a signal: “maybe check this out.”


🌍 Why Two Languages? (EN/TR)

As I’m Turkish, I developed the app in Turkish first. But health is universal. I restructured the project to have clean v_EN and v_TR folders so language would never be a barrier to access.


🖥️ Choose Your Experience: (Web, Desktop, or Code)

People have different preferences. Some want instant access, some prefer a standalone desktop app, some just want the code.
So I made three options:

  • Streamlit Web App: quick access → CardioMetrics Streamlit App
  • Desktop App: A pre-built .exe file (no Python environment required). Just download and run.
  • Source Code: Cleanly structured folders with clear EN/TR separation for the curious.

CardioMetrics Web-app (Streamlit Version)


🚀 Explore the Project

GitHub logo lemancaliskan / CardioMetrics-Core

Cardiovascular Risk Assessment Tool: An AI-powered desktop application that analyzes clinical data to evaluate cardiovascular risk levels and provide real-time health insights using machine learning models.

❤️ CardioMetrics Core - Cardiovascular Risk Analysis Tool

CardioMetrics is a modern desktop application designed to analyze cardiovascular risk using machine learning algorithms. It provides meaningful health insights by processing clinical data through a user-friendly interface.

Streamlit


📺 Demo

🎨 Visual Experience

The application features a dedicated toggle for seamless switching between light and dark modes.
CardioMetrics Dark/Light Mode Switch

🔍 Desktop Application (EN/TR)

Optimized for a 980x666 centered window layout, this standalone application delivers a precision-focused, localized experience through a theme-aware CustomTkinter UI designed for both global and local users.

ENGLISH UI:
image

TURKISH UI:
image

🌐 Web Application (Streamlit):

A responsive and lightweight web version for instant access from any device.
image


✨ Features

  • Dual Language Support: Optimized interfaces for both English (EN) and Turkish (TR).

  • Modern GUI: A sleek design powered by CustomTkinter with native Dark and Light mode support.

  • Smart Analysis: Real-time risk estimation using scikit-learn models (Logistic Regression / Random Forest).

  • Visual Reporting:

  • Streamlit Web App: Try it here
  • Desktop App: Pre-built .exe available in GitHub Releases.

🤝 Contributing

If you have ideas on how to improve the ML model or want to suggest new features for the UI, feel free to open an issue or a Pull Request on GitHub. Let’s build better health tools together!


Medical Disclaimer: This software is for informational purposes only. The results provided do not constitute a formal medical diagnosis. Always consult with a professional healthcare provider before making any medical decisions.

Top comments (0)