← All case studies
HealthcareWorking prototype

Cardiovascular resilience scoring and health coaching

A mobile app and API that combine lab biomarkers, wearable data and lifestyle history into a transparent cardiovascular resilience score, with guardrailed AI coaching.

The challenge

Preventive-health programmes hold biomarkers, wearable streams and lifestyle data in separate places, and risk scores are often opaque. Any AI coaching must be bounded so it does not behave like a medical decision tool.

What we built

An Expo/React Native app collects history, goals and wearable connections, while a NestJS backend stores results, ingests wearable webhooks and lab results, and exposes dashboards. A versioned scoring engine weights biomarker domains into a resilience index, enforces a minimum data-completeness gate, flags stale or excluded values and caps the band when severe raw values are present. Separate Python services prototype biological-age and resilience models against synthetic cohorts. An AI coach adds emergency-keyword escalation and cardiovascular guardrails to its system prompt.

Key capabilities

  • Domain-weighted resilience scoring with completeness gate and severity caps
  • Lab and smart-scan result ingestion with reference-range parsing
  • Wearable data aggregation via webhooks (sleep, activity, stress, heart-rate variability)
  • AI coach with emergency-keyword escalation and educational-only guardrails
  • Mobile app for onboarding, history capture, biomarker detail and goal tracking
  • Python biological-age and calibration prototypes with audit logs

What it delivers

  • Makes the scoring logic explicit, versioned and unit-tested instead of leaving it as a black box
  • Applies conservative rules, such as capping band on severe values and refusing to score with too little data
  • Keeps AI coaching within a patient-education scope with an emergency escalation path
  • Separates experimental modelling in Python from the application backend

Have a similar backlog?

Most of our work started as a single painful workflow. Tell us yours.

Book a working session