Case study · Client name withheld

Connected Performance Platform

Mobile and Apple Watch software for a connected sports wearable

Heart rate and breathing from the client's clip-on sensor — live during a session, then as charts, training zones and history. We designed and built the iPhone, Apple Watch and Android apps and their back end.

Rendered iPhone lying on a stone surface, showing a recorded session in the app — 5.49 km, 01:23:41, heart rate 129 and breath rate 17 over a map, above the list of sessions — beside a rendered Apple Watch with an illustrated face showing the same e-bike session's time
Render; phone screen from the delivered app; watch face illustrated.
Client
Sports-technology company
Platforms
iOS · Apple Watch · Android
Our scope
UI/UX design · iOS and Apple Watch · Android · Back end
Period
2018–2023

The product

From sensor to screen

The client makes a smart sports shirt with a small clip-on sensor unit. The sensor measures the body; the phone is where athletes start a session, watch their data and look back at their training. The software had to connect to the sensor reliably, show data live, keep a history on the phone and stay in step with new sensor firmware across several product versions.

Scope The shirt, the sensor hardware and its firmware are the client's. Our work was the software that uses them.

  • The client's black sleeveless sports shirt
    Client hardware

    Smart shirt

    The client's sports textile, worn during training

  • The client's black clip-on sensor unit with a single light
    Client hardware

    Sensor unit

    Clips onto the shirt and measures the body; its firmware is the client's

  • Chart from the delivered app of one session's heart rate in red and breath rate in blue over five minutes, with heart rate rising from about 70 to 145 beats per minute
    Built by Keshav Infotech

    Our apps

    iPhone, Apple Watch and Android — pairing, live readings, session history and firmware updates. Shown here: one session's heart rate and breathing, as the app charts them.

The sensor connects to the apps over Bluetooth Low Energy.

Our contribution

What our team designed and built

  1. UI/UX design

    The app's flows and screens, from starting a session to reading its results, in a dark interface with large live numbers.

  2. iOS and Apple Watch

    The iPhone app in Swift and UIKit with a WatchKit companion for the wrist, including the Bluetooth link to the sensor and on-device session storage.

  3. Android

    The Android app in Java, covering the same product for Android users.

  4. Back end

    The web services the apps use behind the scenes, including user accounts.

Technologies Swift · UIKit · WatchKit · Core Bluetooth · Java · SQLite

The product in use

What athletes see

  1. Time in each training zone

    Zones drive the charts, so athletes can see how hard a session really was. Speed, breathing and heart-rate zones are each set separately — calculated automatically or typed in as the athlete's own limits.

    Bar chart from the delivered app of time in heart-rate zones for one session — zone 1 33.3 per cent, zone 2 55.0, zone 3 11.7, zones 4 and 5 zero
    One session's time in heart-rate zones: 33.3 % in zone 1, 55.0 % in zone 2, 11.7 % in zone 3.
    Breath-zone settings from the delivered app — maximum breath rate 70, and five bands from Maximum (40–70) to Very light (0–13) breaths per minute, each with editable limits
    Breathing zones from Very light to Maximum, each with its own lower and upper limit.
  2. Week against week, month by month

    Training history stays on the phone, so athletes can compare this week with the last and see how their training time builds across a month.

    Comparison table from the delivered app — distance 45.33 km previous week against 12.08 km current week, and time in heart-rate and speed zone 1, with a percentage or absolute switch
    This week against last: 45.33 km before, 12.08 km so far, plus time in zones.
    Bar chart from the delivered app of training minutes per calendar week in July 2021 — 51 minutes in week 26, 143 in week 29 and 177 in week 30
    Training time per calendar week in July 2021: 51, 143 and 177 minutes in the weeks with sessions.

About these images: the interface panels are cropped from the delivered app's screens, unchanged; the phone and watch are 3D renders, the phone showing a delivered screen with the client's branding removed; the watch face is illustrated; the shirt and sensor pictures are the client's own product images.

Field notes

Design and engineering decisions

  1. A sensor that simply connects

    Athletes start a session and see their body data straight away. The apps connect to the sensor unit over Bluetooth Low Energy (Core Bluetooth on iOS), stream heart rate and breathing during a session and sync the session files the sensor stores.

  2. Sensor updates without another tool

    New sensor firmware reaches athletes through the app they already use. The app transfers the client's firmware to the sensor unit; on iOS the transfer runs on a background thread with a checksum (CRC) on each packet, so the interface stays responsive and corrupted packets are caught.

  3. Many signals, one screen

    A live session shows heart rate, breathing rate, distance, speed, calories, training effect and the route on a map at the same time, with GPS and elevation switchable per session.

  4. Zones that follow the athlete

    Heart-rate, breathing and speed zones drive the charts. In 2022 the app was updated so that live sessions and charts use the athlete's updated zone values.

Building a product that connects to a device?

Tell us about the hardware, the app and what exists today. We will reply with the questions that matter for your scope.