Cardiolytics Home Care
Project Overview
Cardiolytics: Cardiovascular Analytics for Homecare
Cardiolytics is a web-based cardiovascular analytics platform that integrates IoT, ensemble learning, and a document-grounded chatbot to support cardiovascular homecare services. The system consists of three core features:
Core Features
BP Monitor – Real-time Blood Pressure Monitoring
This feature uses an ESP32 microcontroller to simulate real-time blood pressure data transmission via MQTT (EMQX Broker) and Apache Kafka, enabling:
- Device connectivity via Connect to Device button
- Measurement trigger through Start Measurement
- Live dashboard displaying systolic, diastolic, and heart rate data
- Automatic detection of connection status (connected/disconnected)
- Secure data persistence into a backend MySQL database via Flask API
CVD Predict – Cardiovascular Disease Risk Prediction
Users can assess their risk of cardiovascular disease by submitting clinical and lifestyle data. The modeling pipeline includes:
- Two-phase Exploratory Data Analysis (EDA)
- Preprocessing (column renaming, IQR-based outlier removal, feature encoding)
- Feature engineering:
- Body Mass Index (BMI)
- Pulse Pressure (PP)
- Mean Arterial Pressure (MAP)
- Model training using:
- Gradient Boosting (LightGBM, CatBoost, HistGB)
- Tabular Deep Learning (TabNet, TabTransformer, FT-Transformer)
- Stacking & Hybrid Voting Ensembles
- Best model (Voting Hybrid) achieves:
- Accuracy: 74.08%
- AUC: 0.8018
- Final prediction reports are downloadable in PDF format
Cardiobot – Document-Based Educational Chatbot (RAG)
This Retrieval-Augmented Generation (RAG) chatbot answers cardiovascular-related questions based on uploaded verified documents:
- Uses Gemini 2.5 Flash as the main LLM
- Embeds medical documents via multilingual-e5-large
- Stores chunks in Pinecone vector store
- Supports conversational memory via LangChain
- Validates answers using:
- Cosine similarity
- Word overlap detection
- Caches repeated questions to optimize performance
- Links answers to the exact source document section
Web Interface
Cardiolytics is accessible via a web interface, structured for two user roles:
User Side (Patients)
- View health summary and connected device status
- Submit predictions through CVD Predict form
- View prediction history and download medical PDF reports
- Chat with Cardiobot for document-grounded health information
Admin Side
- Approve new patient registrations
- Monitor all users’ BP and CVD prediction data
- Manage model uploads (.pkl), IoT devices, and chatbot documents
- Preview document content
Key Achievements
- BP Monitor: Real-time monitoring pipeline with MQTT → Kafka → Flask integration, powered by simulated ESP32 data
- CVD Predict: Achieved 74.08% accuracy and 0.8018 AUC using hybrid ML/DL ensemble
- Cardiobot: Gemini-powered RAG chatbot with document-based Q&A and source-linked responses
- Web App: Role-based interface for patient and admin
- Deployment: Fully tested locally with end-to-end data flow validation
Features

Tech Stack
FlaskEMQXApache KafkaNode-REDLangChainHuggingFaceMySQLGemini APIPineconeTailwind CSS