What the app actually does

Open the camera. Set up your phone so it can see your hands. Place your hands on something compressible nearby — a pillow, a couch cushion, a soft toy, a stand-in for someone’s chest. Start a session.

As you do compressions, the app watches your hands. In real time, it tells you whether you’re pushing deep enough, fast enough, with full recoil between compressions, in the right position. Voice prompts coach you (“push harder,” “slow down,” “good rhythm”). After the session ends, you get a summary of how your performance compared to the resuscitation guideline targets for compression depth (5–6 cm for adults) and rate (100–120 compressions per minute).

That’s the user-facing experience. Underneath, it’s computer vision running in your browser.

The technology in three layers

Layer 1: Hand landmark detection

The first job of any computer vision app that needs to track human movement is to figure out where in the image the human is — and specifically, where the relevant body parts are. CPR Coach uses a hand landmark detection model: a neural network trained on millions of images of hands in various positions, lighting conditions, and skin tones. When given a frame from your camera, the model outputs the estimated 3D positions of 21 key points on each hand — finger tips, knuckles, the base of the palm, the wrist.

Hand landmark models like this are a well-established class of computer vision system. Google’s MediaPipe library, OpenCV, and several other open-source projects offer high-quality hand tracking models that run efficiently on phones and laptops. CPR Coach builds on this category of model to detect your hands as you practice.

Layer 2: Motion analysis

Once the model knows where your hands are in each frame, the next step is to track motion over time. The app measures:

  • Vertical displacement — how far your hands travel down between the top of one compression and the bottom of the next. This becomes the compression depth estimate.
  • Cycle timing — how often the down-up motion completes. This becomes the compression rate (per minute).
  • Recoil — whether the hands return to the starting position fully between compressions, or stop short.
  • Hand positioning consistency — whether your hands stay in roughly the same XY position throughout the session, or drift around.

The motion analysis runs at roughly 30 frames per second — fast enough to track each compression individually and give you feedback within a fraction of a second.

Layer 3: Coaching logic

The motion measurements get compared against the current resuscitation guideline targets:

  • Compression depth: 5–6 cm for adults (about 2 inches)
  • Compression rate: 100–120 per minute
  • Recoil: Full release between compressions
  • For infants: Different targets — about 4 cm depth, same rate, different hand position

When your performance is within target, you get positive reinforcement. When it drifts out of target, you get corrective coaching — “push harder,” “slow down,” “let the chest come up.” The coaching is voice-based so you can keep your eyes on what you’re doing, not on the screen.

Why this works on a phone

A decade ago, the kind of hand tracking CPR Coach uses would have required specialized hardware — depth-sensing cameras, infrared, or dedicated GPUs. Three things changed that:

  • Smartphone cameras got dramatically better. Modern phones have high-resolution sensors that capture enough detail for landmark detection.
  • Neural network architectures became more efficient. Models designed specifically to run on mobile devices (like Google’s MediaPipe Hands, MoveNet, and others) deliver high accuracy at low computational cost.
  • Browser-based machine learning matured. Frameworks like TensorFlow.js, ONNX Runtime Web, and MediaPipe Web allow neural networks to run in any modern browser without requiring an installed app or server-side processing.

The combination means CPR Coach can run entirely in your browser, using your existing camera, with no app download required and no video data leaving your device.

Privacy and where your data goes

This matters: your camera feed never leaves your phone. The computer vision model runs locally — meaning the analysis happens on your device, not on a Life Safe server. Life Safe doesn’t see, store, or process your video. You can use the app in any private setting (your living room, a hotel room, a hospital break room) without concern that video is being uploaded somewhere.

Anonymous usage metrics (which features get used, session lengths, etc.) help us improve the product, but the camera feed itself is local-only.

What CPR Coach measures vs what it can’t measure

The app can estimate The app can’t replace
Compression depth from hand displacement Actual force applied to a real chest
Compression rate over time Whether you’d hold up under the stress of a real emergency
Recoil between compressions Decision-making about when to start CPR
Hand positioning consistency The hands-on assessment by a certified instructor
Session duration and fatigue patterns The integrated chain of survival skills

The app is honest about its scope. It’s a practice tool for the specific motor skill of compressions, not a full first aid curriculum. The decision to call 911, the recognition of cardiac arrest, the choking response protocol, the integration with AED use — those need to be learned in a structured CPR class. CPR Coach is what you use between classes to keep the motor skill sharp.

How CPR Coach is different from QCPR feedback manikins

Healthcare training programs often use feedback manikins (Laerdal QCPR, Zoll Real CPR Help, etc.) that have pressure sensors built into the chest and give live feedback during training. Those manikins are clinical-grade equipment costing thousands of dollars per unit, used in BLS and ACLS training. CPR Coach is the consumer-accessible cousin — designed to give parents, learners, and practitioners between-course feedback at no cost, on equipment they already have.

Who is the app for?

  • Parents and grandparents who took an infant CPR class and want to keep skills sharp before they need them
  • Healthcare workers between annual BLS renewals, when skill decay starts to accumulate
  • Students who took CPR for a placement and want to maintain proficiency
  • Workplace first aiders between 3-year SFA recertification cycles
  • Anyone who watched a CPR video but wants to actually try the technique with feedback before deciding whether to invest in a paid class
  • People who can’t currently afford a paid CPR class but want some skill development

How to use the app

  1. Open trainer.lifesafe.ca in your phone or laptop browser
  2. Allow camera access when prompted
  3. Set up your phone so it can see your hands clearly — propped on a counter, table, or stand, with your hands in frame
  4. Place your hands on something compressible nearby (pillow, soft toy, couch cushion)
  5. Start the session — the app will guide you through it
  6. Practice 2–5 minutes per session, several times a week if maintaining skill, or as part of preparing for an in-person class

Why we built it

The honest answer: because we kept hearing the same thing from former students. “I took the class six months ago. I remember the steps but I’m not sure my technique would actually be right if I needed it.” The skill decay between training and actual use is well-documented in resuscitation research — CPR quality degrades meaningfully if it’s not practiced.

The solution traditionally has been to retake the course. That’s expensive and time-consuming, especially for parents who took infant CPR before their baby arrived and now have a toddler. CPR Coach is the in-between tool — something to practice with at home, at any time, at no cost, that gives you real feedback on whether your compressions are actually meeting the targets.

It’s the same idea that led to the free CPR program: lower the barriers, more trained people, more lives saved.

Try CPR Coach

Free, runs in your browser, no app to install. Works on any phone or laptop with a camera.

Open CPR Coach