Show HN: Because Google health has not desktop mode Fable made my own

not_a_feature1 pts0 comments

GitHub - not-a-feature/GHealth_Dashboard · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

not-a-feature

GHealth_Dashboard

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>5 Commits<br>5 Commits

js

js

README.md

README.md

index.html

index.html

styles.css

styles.css

View all files

Repository files navigation

GHealth Dashboard

Live demo: https://not-a-feature.github.io/GHealth_Dashboard/

A private dashboard for your Google Health data — steps, sleep, heart rate,<br>workouts and more - pulled straight from the Google Health API into your<br>browser.

Plain static site. The files talk to Google's OAuth and Health API<br>directly from the browser. Your credentials, tokens and cached data live<br>only in local storage — no server involved.

Demo mode: append ?demo=1 to the URL to try the UI with sample data —<br>no Google account needed.

Run it or use the demo

python -m http.server 8180<br># or: npx serve

Or host it anywhere (GitHub Pages, Netlify, your own server) and register that<br>exact URL in your OAuth client's origins/redirect URIs.

One-time Google setup

Google Cloud Console → create a<br>project.

APIs & Services → Library → enable "Google Health API".

APIs & Services → OAuth consent screen → type External → add<br>yourself as a test user (required, or sign-in fails with<br>access_denied).

APIs & Services → Credentials → Create credentials → OAuth client ID →<br>Desktop app for localhost, Web application for a hosted site.

Paste the Client ID /Secret into the dashboard's setup screen, sign<br>in. The "unverified app" warning is expected — choose Continue.

In Testing mode, sign-in expires after ~7 days. Publishing the consent<br>screen (still just for you) removes that limit.

What you get

Today: stat tiles (steps, active zone minutes, active energy, resting<br>HR, sleep, weight) with trends, a weekly cardio-load ring, and today's<br>intraday HR curve.

Trends (7/30/90 days): steps, sleep stages, resting HR, weight, AZM,<br>active energy, HRV, SpO₂, respiratory rate, HR zones, distance, floors,<br>VO₂ max, body fat (when available). Click any tile for a 90-day<br>drill-down; click a night for its hypnogram.

Workouts: activity list with duration/distance/calories/HR; detail<br>page adds an HR curve, GPS route map, pace splits and elevation profile.

Every chart has a Table toggle and CSV export. Light/dark theme<br>follows your system.

Troubleshooting

"Couldn't load" / 403: that data type may not exist for your<br>account/device, or the API isn't enabled in your Cloud project.

Stale numbers: it paints from cache then re-fetches; Refresh<br>forces it.

Sleep without stages: shown as "light" sleep (Google doesn't break it<br>down).

Missing day: a gap, not a zero — device likely wasn't worn/synced.

Sign-in fails in one browser only: re-paste credentials via "Change<br>API credentials…" or try another profile.

Sign out (top right) revokes the token and clears local caches.

Layout

index.html app shell: setup → sign-in → dashboard → detail pages<br>styles.css light/dark theme<br>js/app/ OAuth PKCE flow, API client, caching, rendering<br>js/charts/ hand-rolled SVG charts

About

not-a-feature.github.io/GHealth_Dashboard/

Resources

Readme

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

stars

Watchers

watching

Forks

forks

Report repository

Releases

No releases published

Packages

Uh oh!

There was an error while loading. Please reload this page.

Contributors

Uh oh!

There was an error while loading. Please reload this page.

Languages

JavaScript<br>79.6%

CSS<br>12.7%

HTML<br>7.7%

You can’t perform that action at this time.

google sign reload health github data

Related Articles