AI Physical Fitness Monitoring via Wearables

When an athlete complains of fatigue and performance plateaus, it's hard for a coach to tell if it's overtraining or the onset of illness. We build AI systems that turn wearable device data into clear signals about recovery and readiness for training. Our team delivers turnkey projects, from analyzing biometric streams to deploying personalized models with ongoing support.

AI Development Areas

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1344
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1307
  • B2B Advance company logo design
    B2B Advance company logo design
    754
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1049
  • AIDER company logo development
    AIDER company logo development
    994
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1097

A coach notices: an athlete complains of fatigue, HRV has dropped 30%, and tests aren't improving. Yet the training log shows overload. With unstable Wi-Fi, data may be lost, and HRV intervals contain artifacts — without proper filtering and interpolation, the AI model will err. Without continuous monitoring and AI analysis, it's hard to distinguish overtraining from the onset of illness. We build systems that turn raw wearable data into actionable insights: recovery assessment, performance prediction, and early failure warnings.

Wearable devices — Whoop, Oura Ring, Garmin, Apple Watch — continuously collect biometrics. An AI system aggregates these streams, computes a Recovery Score, a personal physiological baseline, and long-term trends. The result is an objective picture of readiness for load. A personalized baseline is 2 times more sensitive than population norms for detecting deviations. Stack: Python, PyTorch, PostgreSQL with TimescaleDB for time-series storage, MLflow for experiment tracking.

How We Do It

How AI Analyzes Wearable Sensor Data

Cardiovascular metrics: HRV, resting heart rate, SpO2. Activity: steps, GPS, gyroscope. Sleep: REM, deep, light. Skin temperature: deviation from baseline — indicator of illness.

Recovery Score Model

def calculate_recovery_score(hrv_today, hrv_baseline, sleep_quality, sleep_duration, resting_hr, resting_hr_baseline):
    hrv_score = min(1.0, hrv_today / hrv_baseline)
    sleep_score = (sleep_quality * 0.5 + min(1.0, sleep_duration / 8.0) * 0.5)
    hr_score = max(0, 1.0 - (resting_hr - resting_hr_baseline) / resting_hr_baseline)
    recovery = hrv_score * 0.5 + sleep_score * 0.35 + hr_score * 0.15
    return recovery * 100

Recovery < 33% — red, 34-66% — yellow, 67%+ — green.

Why Personal Physiological Baseline Matters

The key principle is comparison with one's own baseline, not population "norms":

class PersonalBaseline:
    def __init__(self, lookback_days=30, percentile=50):
        self.lookback = lookback_days
        self.percentile = percentile

    def fit(self, history):
        self.hrv_baseline = np.percentile(history['hrv'], self.percentile)
        self.hr_baseline = np.percentile(history['resting_hr'], self.percentile)
        self.sleep_baseline = np.percentile(history['sleep_hours'], self.percentile)
        return self

    def deviation(self, today):
        return {
            'hrv_dev': (today['hrv'] - self.hrv_baseline) / self.hrv_baseline,
            'hr_dev': (today['resting_hr'] - self.hr_baseline) / self.hr_baseline,
            'sleep_dev': (today['sleep_hours'] - self.sleep_baseline) / self.sleep_baseline
        }

Sports Performance Prediction

Fitness-Fatigue model (Banister):

Performance(t) = Fitness(t) - Fatigue(t)
Fitness(t) = Σ TSS(i) × exp(-(t-i)/τ_fitness), τ=45 days
Fatigue(t) = Σ TSS(i) × exp(-(t-i)/τ_fatigue), τ=15 days

Personal τ are estimated via nonlinear optimization (scipy.optimize). The model designs tapering for competition. Saves up to 50% of coach's time on manual data analysis.

Early Illness Detection

def illness_risk_score(temp_deviation, hrv_drop, hr_elevation, symptom_report):
    if temp_deviation > 0.5 and hrv_drop < -0.2 and hr_elevation > 5:
        return 0.8
    return 0.1

Research Stanford COVID study shows: wearables detected COVID 0-2 days before symptoms in 63% of participants. Reduces medical consultation costs through early detection.

Long-term Progress

VO2max estimation via Firstbeat methodology (error ±3-5 ml/(kg·min)). Analysis of load dynamics over 12-52 weeks, adaptation through resting HR and HRV trends.

What We Provide

  • Documentation on API and data model
  • Dashboard with Recovery Score, prediction, and trends
  • REST API for integration into your ecosystem
  • Team training (3 sessions)
  • Technical support for 3 months
  • Source code of models (upon agreement)

Process of Work

  1. Analytics: requirements gathering, selection of wearable APIs.
  2. Design: data ingestion architecture, Recovery Score model.
  3. Implementation: API integration, ML models (fitness-fatigue, illness detection).
  4. Testing: validation on real data, A/B test.
  5. Deployment: dashboard + REST API, team training.

Signal Processing: Artifact Filtering

Raw data from wearables contains outliers and gaps. For HRV intervals, we apply a Berthou filter: remove RR intervals deviating >20% from median of neighbors. Gaps are filled via cubic interpolation for gaps ≤5 minutes and forward extrapolation with confidence degradation for gaps >5 minutes. For accelerometer and gyroscope — median filter with window of 5 points removes impact artifacts during wear. Proper preprocessing reduces Recovery Score RMSE by 12–18% compared to raw data. Interpolation quality is verified on control gaps intentionally inserted into the test dataset.

Estimated Timelines

Module Scope of Work Estimated Time
Integration with wearables Connect 2-3 APIs (Garmin, Whoop, Apple HealthKit), unified data collection 2-3 weeks
Recovery Score Model implementation based on HRV, sleep, and heart rate; baseline calibration 2-3 weeks
Performance Prediction Fitness-fatigue model with personal τ, tapering scheduler 4-6 weeks
Early Illness Detection Logic based on temperature, HRV, and heart rate; threshold tuning 1-2 weeks
Dashboard and API Web interface + REST API for external systems, mobile ready 4-8 weeks
Parameter Population Norm Personal Baseline
Detection Sensitivity 0.4 0.85
Calibration Time 0 days 30 days
Adaptation to Changes No Yes

Get a consultation from our engineers: we will analyze your data and find the right architecture. Contact us to evaluate your project. Request demo access to a working prototype. Our experience: 5 years in the AI/ML solutions market, over 20 successful projects in sports analytics. We guarantee quality and timely delivery.