Prifina for Developers
  • Docs
  • Getting Data
  • Support
  • Slack
  • Blog
  • Prifina.com

Artificial Whoop Data for Software Development

10/17/2022

 
In this post, we are going deeper into the Dynamic Data project, looking at the Whoop dynamic data (library available here on GitHub and at NPM). Opening the library, you’ll see there are fifty-one types of data objects: Cycle, Recovery, Sleep, User, Workout.

Learn more about dynamic data generators and the benefits of artificial data in software development.
Picture

About the data source

Whoop is a wearable fitness technology company that offers the ‘Whoop band’ product that monitors the user’s sleep, recovery, heart rate, strain and workout performance. The Whoop Band comes in several different models that focus on the aesthetics and feel of the device, rather than its software or hardware. Whoop also offers some accessories such as a Portable Battery Pack and  Body Strap.

One of the most differential features about Whoop is that they do not offer the band at a flat sum, instead offering the band as part of a membership subscription, which also grants the user access to their health metrics, and provides the user with weekly and monthly performance assessment reports, community leaderboards and more.

Approach used

Whoop have recently released their Developer Platform which grants access to their official API. Using the Whoop API Reference Documentation, several JSON objects were created and stored from the data types recorded. The index file of the package imports these data objects and exports them as a collection called Data, These mockup files make up the whoop-data package.
The whoop-mockup package imports the file above and goes through each attribute generating artificial (new) data using proprietary functions, such as those found in the utils package.

For example, with the Cycle object
Static Cycle Object

    
​Artificial Cycle Object

    

Use case ideas

  • Health & Fitness applications correlating data from Whoop Band and other wearable sensors (such as Bosch Sensor BNO055)
  • Data visualization widgets
  • et

Ideas to combine with some other data sources

  • Combining with other Health devices to provide greater context towards some activities e.g. Fitbit, Garmin, Strava, Oura.
  • Motivational quotes to your screen depending on previous activity performance and segment ranking
  • Combine Whoop data with GPS data for movement data during running, walking jogging, etc activities
  • Or with some entirely different segment data, like air quality, weather, location or similar to find interesting new applications for the data.

Open-source data library

We welcome contributions and forks to this data set, and look forward to seeing what developers build in our Liberty. Equality. Data. Slack channel.

Considerations for next version/improvements

General Improvements
  • Strain better reflects other attributes
  • Kilojoule better reflects other attributes
  • Dates are more sensible, activities don’t go on for months, there will not be year gaps between end date and creation date, etc
Workout
  • Altitude gain/change is appropriate in context
  • Distance is appropriate in context
User
  • Name generator generates a sensible name rather than a random string of characters.
Sleep
  • Sleep Performance is appropriate in context of other Sleep data
Recovery
  • Skin temp, Recovery Score, Spo2_percentage, etc is appropriate in context
With Prifina developers can use the Dynamic Data Libraries natively in the App Studio to build direct to consumer apps where individuals can run them with their own user-held data.
Join our Slack community; Liberty. Equality. Data. to brainstorm and collaborate with other app developers, designers, and our team.

    Categories

    All
    23andme
    Ancestry
    Apple
    Dynamic Data
    Fitbit
    Google
    Ios
    Movesense
    Open Source
    Oura
    Peloton
    Polar
    Runkeeper
    Sensor BNO055
    Spotify
    Strava
    Twitch
    Uber
    Use Case
    Veri
    Whoop
    Withings

    RSS Feed

© 2023 PRIFINA INC. ​
Terms of Service
Privacy Policy
About Prifina
  • Docs
  • Getting Data
  • Support
  • Slack
  • Blog
  • Prifina.com