SAVE THE LIFE β An AI-assisted research prototype for rapid trauma assessment, vitals monitoring and START-based triage. This repository contains the static front-end demo used to showcase the Smart Kit, Smart Pad and AI Triage Engine.
- Live demo: https://denxvil.github.io/Pulse-Protector-/
- Repo: https://github.com/DenxVil/Pulse-Protector-/
- Pages: index.html Β· smart-kit.html Β· smart-pad.html Β· smart-triage.html Β· economy.html Β· effectiveness.html Β· roadmap.html Β· references.html
Pulse Protector is a lightweight, offline-capable front-end prototype that simulates:
- Real-time vital-sign monitoring (HR, RR, SpOβ, BP, GCS, temperature, pupils)
- START-inspired automated triage (RED / YELLOW / GREEN / BLACK)
- An AI triage engine that uses a weighted KPI scoring model and returns:
- triage category
- confidence score
- human-readable reasoning
- prioritized intervention recommendations
- Pre-loaded trauma scenarios for demo playback and exportable JSON/HTML reports
This is a research/demo prototype (Catalyst Hackathon 2025 / MAMC SCISOC) β not for clinical use.
Pulse Protector's UI uses:
- Glassmorphism (blurred translucent cards, accent gradients)
- Subtle animated backgrounds (floating orbs and slow parallax)
- Floating product image with a soft vertical βfloatingβ animation
- 3D-like interactive card hover transforms for emphasis and affordance
- Mobile-first responsive layout with a light and dark theme toggle
If you want to try a small 3D card demo locally, paste the snippet below into a file and open it:
<!-- 3D demo card: paste into a file and open in browser -->
<style>
body { background:#0f172a; display:flex;min-height:100vh;align-items:center;justify-content:center;font-family:Inter,system-ui; }
.card { width:360px;height:220px;perspective:1000px; }
.card-inner {
width:100%;height:100%; border-radius:14px;
background:linear-gradient(135deg,#0ea5a4,#6366f1);
color:#fff;padding:20px;box-shadow:0 20px 40px rgba(2,6,23,.6);
transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.8,.2,1)
}
.card:hover .card-inner { transform: rotateY(12deg) rotateX(6deg) translateZ(6px); }
.title { font-weight:800; font-size:20px; }
.sub { opacity:.9;margin-top:8px }
</style>
<div class="card">
<div class="card-inner">
<div class="title">Pulse Protector</div>
<div class="sub">AI Trauma Vitals β’ START triage β’ Live simulation</div>
</div>
</div>/
βββ index.html # Landing + hero + site nav
βββ styles.css # UI, animations, glassmorphism
βββ app.js # Core application UI & simulation glue
βββ triage-engine.js # Decision logic: scoring, triage, interventions
βββ scenarios.js # Preloaded demo scenarios
βββ vitals-fetcher.js # (simulated) vitals stream + exporter
βββ navigation.js # small nav helpers
βββ *.html # detailed pages: smart-kit, smart-pad, smart-triage, economy, etc
βββ README.md
The triage engine implements a START-like approach combined with a weighted KPI model:
-
KPI weights:
- CNS (Central Nervous System): 30%
- Respiratory: 25%
- Cardiovascular: 25%
- Circulation: 20%
-
Each subsystem returns:
- raw score (0β100)
- issues list
- alerts (severity-coded)
- weightedScore = rawScore * subsystemWeight
-
Overall score = sum(weightedScore of subsystems)
Category decisions use START criteria + thresholds and an overallScore fallback:- BLACK: no respiratory effort + no pulse
- RED: critical RR (<10 or >29), CRT > 2 s, GCS β€ 8, SpOβ < 90, systolic < 70, massive blood loss, fixed pupils, unresponsive
- YELLOW: intermediate abnormalities, overallScore < threshold, or specific borderline findings
- GREEN: ambulatory / minor injuries / normal ranges
-
Interventions generation:
- Outcomes produce prioritized interventions (immediate / urgent / routine) such as airway protection, high-flow oxygen, IV access, warmed fluids, tourniquet/MTP activation, neurosurgical referral triggers, etc.
(The complete logic is implemented in triage-engine.js β it exports the main calculateTriageCategory function and per-system calculators for testability.)
| Parameter | Acceptable Range |
|---|---|
| Heart rate | 30β200 BPM |
| Respiratory rate | 0β60 breaths/min |
| SpOβ | 0β100% |
| Blood pressure | 40/20 β 250/150 mmHg |
| GCS | 3β15 |
| Temperature | 32β42 Β°C |
| Capillary refill time (CRT) | 0β10 s (CRT >2 s considered delayed) |
- Road Traffic Accident β hemorrhagic shock
- Drowning Victim β respiratory compromise
- Electrocution β cardiac arrest / severe arrhythmia
- Fall from Height β head injury
- Mass Casualty Incident β explosion victim
- Minor Trauma β stable walking wounded
Each scenario animates vitals over time to emulate realistic fluctuations and show triage updates, alerts and intervention suggestions.
- JSON export of complete assessment (vitals, timestamped system scores, triage result, interventions)
- Printable HTML report snapshot with timestamps and triage explanation
- Manual override facility in UI: change a vital, provide justification, and log the override with timestamp for audit
- Mobile-first responsive layout
- High-contrast mode toggle
- Reduced-motion support expected (CSS uses prefers-reduced-motion in places where required)
- Clear color-coding for triage bands with text + numeric redundancy (color + labels)
No build required β this is a static front-end prototype:
git clone https://github.com/DenxVil/Pulse-Protector-.git
cd Pulse-Protector-
# Open index.html in your browser (or host via simple file server)
# e.g. Python local server:
python3 -m http.server 8000
# then open http://localhost:8000Live demo is hosted on GitHub Pages: https://denxvil.github.io/Pulse-Protector-/
- UI is pure HTML/CSS/JS β keep dependencies zero for offline usage
- triage-engine.js is modular and exportable β unit tests can import the calculators and verify expected triage for test cases
- scenarios.js contains preconfigured scenario sequences (useful to author more cases)
- vitals-fetcher.js simulates device/ESP32 streaming; to test with real hardware, swap the simulation layer for WebBluetooth / WebSocket ingestion
- For 3D / subtle motion improvements, prefer transform-based animations (translateZ/rotate) and limit heavy blur on mobile
- ATLS β American College of Surgeons Committee on Trauma. ATLS Student Course Manual (10th ed.)
- START Protocol β Benson M, Koenig KL, Schultz CH. "Disaster triage: START, then SAVE." Ann Emerg Med. 1996
- SALT Triage β Lerner EB, et al. "Mass casualty triage: An evaluation of the SALT triage guideline." Ann Emerg Med. 2008
This project is open-source under the MIT License.
Disclaimer: This is a research prototype and educational demonstration. It is NOT intended for clinical use, medical diagnosis, or patient treatment decisions. Always consult qualified clinical professionals for real patient care.
Contributions welcome:
- Fork the repo
- Create a branch for your feature
- Open a PR with a clear description and screenshots / demo
- Add unit tests for triage logic when modifying triage-engine.js
Suggested contribution areas:
- More realistic vitals generative model
- FHIR-compliant export format
- Offline-first PWA support + service worker
- Accessibility improvements & ARIA roles
- Unit tests for triage rules and scenario playback determinism
Open an issue or PR on GitHub: https://github.com/DenxVil/Pulse-Protector-/issues
Thank you for working on Pulse Protector β together we can make better tools for early trauma recognition and education. π