About the Project, RYTHM.IX
Inspiration
Cardiovascular diseases remain one of the leading causes of death globally, yet regular screening is often skipped due to time, cost, limited access to specialists, and post-pandemic changes in healthcare-seeking behavior. We were motivated to bridge this gap with a solution that:
- Empowers anyone to check heart health at home, without medical expertise
- Uses AI to detect early signs of cardiac abnormalities
- Reduces unnecessary specialist visits while encouraging preventive care
Our vision: make proactive heart health monitoring as simple as recording a short audio clip.
What We Built
RYTHM.IX is an AI-powered heart sound classification system with:
- A user-friendly web dashboard for recording/uploading heart sounds
- Real-time oscillogram visualization (amplitude vs. time)
- Deep learning–based classification (e.g., Normal, Murmur, Artifact, Extrahls, Extrastole)
- Actionable summaries with confidence scores
- Secure data handling with end-to-end encryption and AES-128 at rest
- Cloud-backed processing for scalability
Conceptual pipeline:
- Capture heart sound via a digital stethoscope or microphone
- Denoise and segment audio; extract relevant features
- Run inference with a TensorFlow model
- Display predictions, waveform plots, and recommendations
How We Built It
- Frontend: Responsive React-based dashboard for recording, uploads, and visualization
- Audio: Client-side capture and waveform rendering; server-side preprocessing (filtering, segmentation)
- ML: TensorFlow deep learning classifier trained on labeled heart sound patterns
- Features: Time–frequency representations (e.g., spectrogram/MFCC variants) and engineered temporal cues
- Backend: REST endpoints for upload, inference, and results retrieval
- Cloud: Scalable model serving and storage
- Security: TLS for data in transit; AES-128 for data at rest; user authentication and controlled access
A typical classification head uses a softmax layer; the confidence for class i is:
- Inline: $$ P(\text{class}i \mid x) = \dfrac{e^{f_i(x)}}{\sum{j=1}^{K} e^{f_j(x)}} $$
- Display: $$ P(\text{class}i \mid x) = \frac{e^{f_i(x)}}{\sum{j=1}^{K} e^{f_j(x)}} $$ where $$ f_i(x) $$ is the model logit for input features $$ x $$, and $$ K $$ is the number of classes.
What We Learned
- Signal processing matters: robust denoising and segmentation dramatically improve model stability
- Feature design + DL: combining time–frequency features with CNNs yields better generalization than raw waveforms alone in noisy conditions
- UX for healthcare: clear visualizations and simple language are essential for non-expert users
- Security by design: encryption, consent, and data retention choices must be first-class features
- Model evaluation: stratified validation and environment-like noise testing are critical to avoid optimistic accuracy
Challenges We Faced
- Noisy real-world recordings: Motion artifacts, breathing noise, clothing friction required careful preprocessing
- Class imbalance: Some conditions (e.g., extrastole) were underrepresented; we used augmentation and weighted losses
- Thresholding and triage UX: Balancing sensitivity (early detection) and specificity (avoiding false alarms) for user trust
- Latency: Keeping total round-trip inference within seconds on modest networks
- Regulatory alignment: Designing with medical compliance and future certification in mind
Technical Highlights
- Multi-class classifier for Normal, Murmur, Artifact, Extrahls, Extrastole
- Oscillogram and time-series visualization for 2–10 second windows
- Confidence-aware recommendations and retest prompts for low-SNR inputs
- Modular architecture to plug in improved models without UI changes
Confidence-weighted decision suggestion:
- Inline: $$ \text{suggestion} = \arg\max_i \left( \alpha \, P(\text{class}_i \mid x) + \beta \, q_i \right) $$
- Display: $$ \text{suggestion} = \arg\max_i \left( \alpha \, P(\text{class}_i \mid x) + \beta \, q_i \right) $$ where $$ q_i $$ encodes class-specific clinical priority heuristics, and $$ \alpha, \beta $$ balance confidence vs. priority.
Impact
- Encourages regular, at-home screening for at-risk groups (elderly, cardiac patients, rural/remote users)
- Reduces routine clinical load by triaging normal vs. potentially abnormal cases
- Promotes preventive care and early intervention
Next Steps
- Mobile app with offline capture and later sync
- Model upgrades with broader datasets and domain adaptation
- Clinician portal for longitudinal monitoring
- Multi-language support and accessibility improvements
- Compliance pathway (e.g., clinical validation, certifications)
Acknowledgements
Built with a commitment to accessible health technology and inspired by the need to make preventive cardiac care practical, private, and proactive for everyone.
Built With
- ai
- api
- javascrit
- ml
- node.js
- python
- react
- typescript
Log in or sign up for Devpost to join the conversation.