{"id":15221971,"url":"https://github.com/googlecloudplatform/deviceconnect","last_synced_at":"2025-10-20T01:30:24.902Z","repository":{"id":66041211,"uuid":"503459925","full_name":"GoogleCloudPlatform/deviceconnect","owner":"GoogleCloudPlatform","description":"https://deviceconnect.readthedocs.io/","archived":false,"fork":false,"pushed_at":"2024-12-11T00:30:01.000Z","size":4127,"stargazers_count":24,"open_issues_count":9,"forks_count":29,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-12-18T08:40:24.047Z","etag":null,"topics":["bigquery","cloudrun","fitbit","gcp"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GoogleCloudPlatform.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-14T17:35:37.000Z","updated_at":"2024-04-17T13:07:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"8622a22c-bbb3-4009-81e8-b9cfa94280ce","html_url":"https://github.com/GoogleCloudPlatform/deviceconnect","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fdeviceconnect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fdeviceconnect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fdeviceconnect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fdeviceconnect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoogleCloudPlatform","download_url":"https://codeload.github.com/GoogleCloudPlatform/deviceconnect/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237243005,"owners_count":19278060,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bigquery","cloudrun","fitbit","gcp"],"created_at":"2024-09-28T15:09:29.704Z","updated_at":"2025-10-20T01:30:23.658Z","avatar_url":"https://github.com/GoogleCloudPlatform.png","language":"CSS","readme":".. raw:: html\n\n.. image:: docs/source/_static/youtube.png\n  :width: 100%\n  :alt: youtube link\n  :align: center\n  :target: https://www.youtube.com/embed/OFCKEXGSE3A\n\n`Device Connect for Fitbit`_ uses Google Cloud and `Fitbit web apis`_ to enable\ndevelopers to build clinical health applications that leverage data from users'\nFitbit activity trackers.  The tools provided in this repo are open source and build upon\nthe Google Cloud services.  These tools provide:\n\n  * end-user enrollment, consent management and Fitbit device linking,\n  * a data connecter that ingests data from the Fitbit web apis and\n    pushes to Cloud BigQuery,\n  * looker dashboards for visualizing participants data in specific or\n    in aggregate.\n\nDeploy the infrastructure to capture your patient's fitbit data in minutes using \nthe provided terraform scripts.  Simply create your GCP project, install terraform,\nand run ``terraform apply``.  \n\nThe infrastructure uses Cloud Run and Fire Store to manage user enrollment and \nconsent; and Cloud BigQuery to store data from the Fitbit webapis.  Once the data\nis in BQ, build dashboards with Looker (or other dashboarding tool), and develop \nML models with AI Notebooks or Vertex AI (tutorials coming).\n\nDashboards\n----------\n\nThe Fitbit data provides a unique 360-degree view of the patients' lives and\ncan be clinically valuable for physicians or health coaches.  It can also \nbe integrated with other datasets like EHR data, or other device data.  \n\nHere are some dashboard views that might be valuable:\n\n  * the first view shows overview of stats.  In this case, the patient's Fitbit data\n    has been enriched with the date of a past surgury.  It shows the percent of time she is\n    wearing the Fitbit device, along with overall statistics.\n\n    .. image:: docs/source/_static/user_overview.png\n      :width: 90%\n      :alt: user steps dashboard\n      :align: center\n\n  * Furter details about steps can also identify potential problems to recovery.\n\n    .. image:: docs/source/_static/user_steps.png\n      :width: 90%\n      :alt: user steps dashboard\n      :align: center\n\n  * and more details about types and range of activity show more details for the \n    clincial teams:\n\n    .. image:: docs/source/_static/user_activity_zones.png\n      :width: 90%\n      :alt: user steps dashboard\n      :align: center\n\n  * or more details on sleep:\n\n     .. image:: docs/source/_static/user_sleep.png\n      :width: 90%\n      :alt: user steps dashboard\n      :align: center\n\n\nMachine Learning\n----------------\n\nWhile the dashboards can provide valuable insights about the patient's day to day,\nmore detailed models can be developed that provide both population-level clustering\nacross a patient population, and more predictive models that can help clinical teams\nidentify address problems early.\n\n\nFine Print\n------------\n\n  * First and foremost, *this is not a product!*  there is no support.  This\n    is provided as is, with no warrantees, as an example.  Use at your own\n    risk.  post issues if you run into any, fork and develop if it is useful\n    for your needs.\n  \n  * By default, the code uses OIDC for user identities (seperate from Fitbit \n    identities).  \n    The deployment instructions use `Google OIDC`_ but any OIDC can be\n    configured.\n\n  * Data is ingested daily by default (you can configure the Cloud Scheduler\n    component, see Terraform scripts).  This\n    is not intended for real-time use cases.\n\n\n.. _Fitbit web apis:\n  https://dev.fitbit.com/build/reference/web-api/\n.. _Device Connect for Fitbit:\n  https://cloud.google.com/device-connect\n.. _Google OIDC:\n  https://developers.google.com/identity/protocols/oauth2/openid-connect\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglecloudplatform%2Fdeviceconnect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgooglecloudplatform%2Fdeviceconnect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglecloudplatform%2Fdeviceconnect/lists"}