All projects

AI/ML · Project case study

GC-Fit — Computer Vision Fitness Coach

A real-time fitness app that uses OpenCV and MediaPipe pose estimation to recognize exercises and flag improper form as you train.

Focus
AI/ML
Timeline
2022
Delivery
Completed
Case study
Available

Project details

This case study covers the problem, implementation, outcomes, and practical lessons from the project. The technical narrative below is based on the project record and supporting LinkedIn export.

Skills developed

Technical and product skills applied or strengthened while delivering this work.

  • OpenCV
  • MediaPipe
  • Pose Estimation
  • Python

Project story and lessons learned

Overview

GC-Fit is a computer vision fitness coach: it watches you work out through a webcam, recognizes the exercise you're doing, and flags bad form in real time using OpenCV and MediaPipe pose estimation.

The Problem

Good form matters more than reps for avoiding injury, but a personal trainer isn't available to everyone. I wanted to see how far real-time pose estimation could go toward giving people that same kind of feedback loop — "your knee is caving in," not just "good job" — without any wearable hardware.

What I Built

I built a real-time pipeline using OpenCV and MediaPipe to estimate body pose from live video, recognize which exercise was being performed, and compare the tracked joint positions against correct-form references to flag issues as they happened — not after the set was over.

Key Features

  • Real-time pose estimation and exercise recognition from live video.
  • Instant form-correction feedback based on tracked joint positions.
  • Video processing at up to 60 FPS with low latency.
  • Progress tracking and workout analytics across sessions.
  • 95% experimental accuracy in pose estimation and exercise recognition during testing.

Challenges

Getting feedback to feel instant, not laggy, meant the whole pipeline had to run fast enough to keep up with live video — there's no room for a slow frame here and there when you're mid-rep. Tuning the pose-estimation and comparison logic to hit 60 FPS without sacrificing accuracy took a lot of profiling and trimming.

What I Learned

This was my introduction to real-time computer vision, as opposed to offline image processing. It taught me to think in terms of latency budgets per frame, not just overall accuracy — a model that's accurate but too slow to give feedback during the movement isn't actually useful for this kind of product.