← Back to Projects
01Case Study

Zone 2 Tracker

React Native Fitness App · In Progress

A cross-platform mobile app for Zone 2 cardio training — the low-intensity, high-volume approach backed by exercise science for improving metabolic health and aerobic base. Built to solve a personal problem: staying in the right heart rate zone on commercial gym equipment that doesn't make it easy.

02The Problem

Zone 2 training requires maintaining a specific heart rate range for extended periods — typically 60–70% of max heart rate. Most fitness apps focus on high-intensity metrics and don't give Zone 2 the attention it deserves.

Worse, commercial gym treadmills (especially Technogym units) use proprietary Bluetooth protocols instead of the open FTMS standard, making it impossible to get real-time data into a standard fitness app. I built Zone 2 Tracker to solve both problems: a dedicated Zone 2 training companion that works with the equipment I actually use.

03Technical Approach

The app is built with Expo and React Native for cross-platform support. BLE communication is handled through react-native-ble-plx, which provides low-level access to Bluetooth GATT services and characteristics.

The biggest technical challenge was Technogym's proprietary BLE implementation. Their treadmills advertise custom service UUIDs instead of the standard Fitness Machine Service (FTMS). I had to use a BLE sniffer to reverse-engineer the characteristic payloads, map the byte offsets to meaningful data (speed, incline, heart rate), and build a custom parser.

State management uses Zustand for its simplicity and performance with high-frequency BLE data updates. The architecture cleanly separates the BLE transport layer from the training logic, so adding support for new equipment protocols is straightforward.

04Key Features

Real-Time Heart Rate Zones

Live heart rate display with color-coded zone indicators. The app calculates your personal zones based on max heart rate and shows exactly where you are during a workout.

BLE Heart Rate Monitor Pairing

Seamless Bluetooth Low Energy integration that discovers and pairs with standard heart rate monitors. Handles connection drops gracefully with automatic reconnection.

Technogym Treadmill Support

Reverse-engineered proprietary BLE protocol for commercial Technogym treadmills, which don't follow the standard FTMS specification. One of the trickiest technical challenges in the project.

Session History & Trends

Track workouts over time with session logging. View time-in-zone breakdowns to monitor whether you're actually staying in Zone 2 consistently.

Customizable Zone Thresholds

Configurable heart rate zones based on age, resting heart rate, or manual input. Supports both percentage-of-max and heart rate reserve calculation methods.

Audio Zone Alerts

Haptic and audio cues when you drift out of your target zone, so you can train without constantly watching the screen.

05Tech Stack
ExpoReact NativeTypeScriptreact-native-ble-plxZustand
06Impact
1

Proprietary Protocol Reversed

[X]

Workouts Logged

[X]

Hours in Zone 2