PocketGym

Home Exercise Assistant System
Team 9
Aakriti Bhandari
Kobe Hendrix
Evan Musick
Erdenesuren Shirmen
CSC 450 — Introduction to Software Engineering — Spring 2026

Project Description

  • A training assistant system
    • Recognizes different training activities
    • Analyzes workout sessions
    • Calculates joint angles and motion trajectories
    • Provides feedback on form accuracy
    • Counts repetitions
    • Provides a performance summary of whole workout

Project Objectives / Motivations

Motivations

  • Growing demand for accessible home fitness solutions
  • Personal trainers are expensive and not always available
  • Improper exercise form leads to injuries
  • Existing fitness apps lack real-time form analysis

Objectives

  • Build a computer vision-based fitness assistant application
  • Provide real-time pose estimation and form feedback
  • Automatically recognize and classify exercises
  • Track workout progress and performance over time

Functional
Requirements

FR-01 through FR-10

1) User Management & Authentication

IDDescriptionPriority
FR-01The system shall allow users to login with credentialsHigh
FR-02The system shall store personal information (height, weight, goals)High
FR-03The system shall display a progress dashboard showing workout history and metricsHigh

2) Exercise Recognition

IDDescriptionPriority
FR-04The system shall provide real-time exercise detection during workoutsHigh
FR-05The system shall provide an exercise library with demo videosMedium
FR-06The system shall detect when the user switches to a different exerciseHigh

3) Form Analysis & Feedback

IDDescriptionPriority
FR-07The system shall show user's form vs. ideal form side by sideHigh
FR-08The system shall provide audio corrections for form issuesMedium

4) Rep Counting

IDDescriptionPriority
FR-09The system shall automatically count repetitions during exercisesHigh
FR-10The system shall allow users to manually set target rep countsMedium

System Architecture

Presentation Layer UI • Video Feed • Pose Overlay • Dashboard
Application Layer Video Processing • Workout Manager • User Service
Machine Learning Layer Pose Estimation • Classification • Form Analysis
Data Layer Database • File Storage

Presentation Layer

User-facing web application with real-time visual feedback

Live Video & Overlay

  • Live camera feed display in browser
  • Pose skeleton overlay rendered on video stream
  • Real-time form scoring and correction indicators

Dashboard & Library

  • Workout history and progress charts
  • Exercise library with demonstration videos
  • User profile and goal management
React HTML5 Canvas WebGL

Application Layer

Core business logic, session management, and API services

Video Processing Module

  • Frame capture from camera
  • Image pre-processing
  • FPS / performance management

Workout Session Manager

  • Rep counting
  • Set tracking
  • Rest & action timers

User Management Service

  • Authentication
  • Profile management
  • User preferences
Python Flask / FastAPI REST API

Machine Learning Layer

Pose estimation, exercise classification, and form analysis engines

Pose Estimation Engine

  • MediaPipe Pose (33 keypoints)
  • Skeleton rendering
  • Pose training / calibration

Exercise Classification

  • CNN / RNN model
  • Exercise type detection
  • Confidence scoring

Form Analysis Engine

  • Joint angle calculations
  • Error detection
  • Live correction tips
MediaPipe TensorFlow / PyTorch NumPy

Data Layer

Persistent storage for user data, workout history, and ML assets

Database

  • User personal information
  • Physical metrics
  • Workout history & session logs
  • Exercise definitions

File Storage

  • Exercise demonstration videos
  • ML model weights
  • User session recordings
PostgreSQL / MongoDB File System / Object Storage

Data Flow Pipeline

1Camera InputLive video feed
2Video ProcessingFrame capture & prep
3Pose EstimationMediaPipe skeleton
4ClassificationIdentify exercise
5Form AnalysisAngles & errors
6Rep CountingReps, sets & timing
7FeedbackCorrections & cues
8UI UpdateOverlay & tips
9Data StorageProgress tracking

Conclusion

Computer Vision + Deep Learning Real-time exercise guidance using pose estimation and movement analysis
MediaPipe Pose Tracking 33-keypoint skeleton detection for accurate joint angle calculation
4-Layer Architecture Presentation, Application, Machine Learning, and Data layers for clean separation of concerns
Core Features Exercise recognition, form analysis, rep counting, and progress tracking
Questions?