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

Artificial Garmin Data for Software Development

1/2/2023

 
In this post, we are going deeper into the Dynamic Data project, looking at the Garmin dynamic data (library available here on GitHub and at NPM). Opening the library, you’ll see there are eight types of data objects: dailiesData,  dailiesDataAsync, epochsData, epochsDataAsync, sleepsData, sleepsDataAsync, pulseoxData, and pulseoxDataAsync.
Learn more about dynamic data generators and the benefits of artificial data in software development.
Picture

About the data source

Garmin is a company that produces a wide range of GPS and navigation products for both consumer and professional markets. Some of their popular products include fitness watches and activity trackers, in-car GPS navigation systems, and handheld GPS devices for outdoor activities such as hiking and cycling. They also produce marine and aviation GPS systems and a variety of wearable technology products such as smartwatches.

In addition to their GPS products, Garmin also offers a variety of other products and services related to fitness, outdoor recreation, and technology. These products are designed to help users track their physical activity and exercise, as well as other health and wellness metrics such as sleep, heart rate, and stress levels. Some of the features offered by Garmin's fitness products include:
  • Tracking of steps taken, distance traveled, and calories burned
  • Heart rate monitoring, including continuous heart rate tracking and heart rate zone alerts
  • GPS tracking for outdoor activities such as running, cycling, and hiking
  • Sleep tracking and analysis
  • Stress monitoring and relaxation techniques
  • Connectivity with other fitness apps and devices, such as the ability to sync data with the Garmin Connect app and other popular fitness apps like Strava

Approach used

Garmin provides an API to connect to the user's data through its Garmin Connect Developer Platform. By inspecting the example data and the reference, several JSON objects were constructed and then stored in an NPM package. Each of these JSON objects then had an associated 'Async' version created. The index file of the package imports these data objects and exports them in a collection called “Data”. These mockup files make up the garmin-data package.
DailiesData
DailiesDataAsync
EpochsData
EpochsDataAsync
PulseoxData
PulseoxDataAsync
SleepsData
SleepsDataAsync
Models Generated With JSON Crack
The garmin-mockups package imports the files 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 EpochsData object:
Static EpochsData Object

    
Artificial EpochsData Object

    

Use case ideas

  • Fitness tracking and coaching apps: These apps could use the dailiesData, epochsData, and sleepsData objects to track and analyze users' physical activity and sleep patterns, and provide personalized recommendations and feedback to help users reach their fitness goals.
  • Health and wellness apps: These apps could use the pulseoxData object to track and analyze users' pulse oximetry data, and provide alerts or recommendations if any potential health issues are detected.
  • Sports and performance apps: These apps could use the epochsData and sleepsData objects to track and analyze athletes' training and recovery patterns, and provide personalized recommendations for optimizing performance.
  • Chronic disease management apps: These apps could use the pulseoxData object to track and monitor the health of individuals with conditions such as sleep apnea or COPD, and provide alerts or recommendations if any potential issues are detected.
  • Nutrition and weight loss apps: These apps could use the dailiesData object to track users' physical activity and caloric intake, and provide personalized recommendations for achieving weight loss goals.
  • Mental health and stress management apps: These apps could use the sleepsData object to track users' sleep patterns and quality, and provide recommendations or techniques for reducing stress and improving mental health.
  • Geriatric health and care apps: These apps could use the dailiesData object to track the activity levels and overall health of older individuals, and provide alerts or recommendations if any potential issues are detected.
  • Environmental monitoring and conservation apps: These apps could use the epochsData object to track users' outdoor activities and environmental exposures, and provide recommendations for reducing environmental impact and promoting conservation.
  • Data Visualization Apps, etc.

Explore entirely new use cases

  • DailiesData: This data object could be used to track and analyze daily activity levels, such as the number of steps taken, the distance traveled, and the calories burned. This data could be used to set and track fitness goals, or to create personalized workout and nutrition plans.
  • EpochsData: This data object could be used to track and analyze activity at a more granular level, by dividing the day into smaller periods of time (called "epochs"). This data could be used to identify trends and patterns in activity levels, or to track progress over time.
  • SleepsData: This data object could be used to track and analyze sleep patterns and quality. This data could be used to identify potential sleep problems, or to optimize sleep schedules for better health and performance.
  • PulseoxData: This data object could be used to track and analyze pulse oximetry data, which measures the oxygen saturation of a person's blood. This data could be used to monitor respiratory health, or to identify potential problems with oxygen delivery to the body's tissues.

Ideas to combine with some other data sources

  • Using Calendar APIs
    • Productivity and time management apps: These apps could use data from both the calendar API and the epochsData object to track how users' time is being spent, and provide recommendations for optimizing productivity and reducing time waste.
    • Personal assistant apps: These apps could use data from both the calendar API and the dailiesData object to track users' schedules and daily activity levels, and provide personalized recommendations and reminders to help them stay on track and meet their goals.
    • Health and wellness coaching apps: These apps could use data from both the calendar API and the sleepsData object to track users' schedules and sleep patterns, and provide recommendations for optimizing both for better health and performance.
    • Environmental impact tracking apps: These apps could use data from both the calendar API and the epochsData object to track users' activities and their associated environmental impacts, and provide recommendations for reducing their carbon footprint and promoting conservation.
  • Using Entertainment APIs
    • Health and wellness apps that incorporate entertainment: These apps could use data from the Garmin API to track users' physical activity and sleep patterns, and use data from entertainment APIs to suggest movies, TV shows, or games that are suitable for watching or playing based on users' current activity levels and mood.
    • Personalized entertainment recommendation apps: These apps could use data from the Garmin API to track users' interests and preferences, and use data from entertainment APIs to provide personalized recommendations for movies, TV shows, or games that users might enjoy.
      Exercise motivation and tracking apps: These apps could use data from the Garmin API to track users' physical activity, and use data from entertainment APIs to provide rewards or incentives for reaching certain activity goals, such as access to exclusive movies or TV shows.
    • Health and wellness-themed entertainment apps: These apps could use data from the Garmin API to track users' health and wellness metrics, and use data from entertainment APIs to provide content that is specifically designed to support health and wellness goals, such as yoga or meditation videos.
  • Using Finincal APIs
    • Personal finance management apps: These apps could use data from the Garmin API to track users' expenses and income, and use data from financial APIs to provide insights and recommendations for optimizing their financial health.
    • Health and wellness expense tracking apps: These apps could use data from the Garmin API to track users' health and wellness-related expenses, such as gym memberships or medical bills, and use data from financial APIs to provide insights and recommendations for reducing costs.
    • Fitness and health goal tracking apps: These apps could use data from the Garmin API to track users' physical activity and health goals, and use data from financial APIs to provide incentives or rewards for reaching those goals, such as discounts on fitness products or services.
    • Health and wellness-themed shopping apps: These apps could use data from the Garmin API to track users' health and wellness needs and preferences, and use data from financial APIs to provide personalized product recommendations and discounts on health and wellness-related products.
  • Other APIs
    • Location-based service recommendation apps that incorporate health and wellness data: These apps could use data from the Garmin API to track users' health and wellness metrics and preferences, and use data from services APIs to provide personalized recommendations for businesses or services that support users' health and wellness goals.
    • Health and wellness-themed games that incorporate fitness tracking: These apps could use data from the Garmin API to track users' physical activity and health goals, and use data from games APIs to provide incentives or rewards for reaching those goals, such as access to exclusive game content or in-game items

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

  • DailiesData:
    • More ActivityTypes values
  • EpochsData:
    • Expanding on ActivityTypes values
    • Expanding on Intensitiy values
  • SleepsData:
    • Expanding on Validation values
  • General:
    • Greater Reliance on Utils Package
    • All data should be sensible, e.g. the data can't show 10000 steps taken in 20 minutes
Join our Slack community; Liberty. Equality. Data. to brainstorm and collaborate with other app developers, designers, and our team.

Comments are closed.

    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