Skip to content
adityaongitPublic

About

your fitbit air, but it finally tells you why you feel like garbage. recovery, strain, sleep and a Pulse Age that judges you, all free and self-hosted.

Resources

Code of conduct

Contributing

Security policy

Stars

178 stars

Watchers

5 watching

Forks

Latest commit

 

History

355 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pulse

Recovery, strain and sleep from your Google Health data.

Daily scores from what your Fitbit or Pixel Watch syncs to Google Health. Built on Fitbit Air, free for personal use.

CI License Website

Pulse on a phone: sleep, recovery and strain dials Pulse on a phone: the Health Monitor Pulse on a phone: the Journal

Get Pulse

Self-host on your server Available on Android

Self-host: one Docker container with Postgres behind HTTPS, for you and the people you invite. The setup guide walks through Google Cloud, Docker and Tailscale.

Android: Pulse Mobile needs no server or account and scores everything on your phone, from Health Connect.

What you get

  • Sleep, Recovery and Strain every morning, with a Strain Target for the day
  • Pulse Age, Stress Monitor and Energy Bank through the day
  • Health Monitor, Journal, Trends, Reports, My Dashboard and an optional AI coach with your own key

Every score is explained on the metrics pages and in docs/algorithms. More screens: docs/screenshots.md.

Try the demo

No Google account needed: demo mode generates 180 days of data.

git clone https://github.com/adityaongit/pulse.git && cd pulse
pnpm install && cp .env.example .env
docker compose -f compose.dev.yaml up -d && pnpm dev    # http://localhost:3000

Documentation

Setup · Other setups · Admin · PWA · App shell · Technical details · Contributing · AGENTS.md

License

PolyForm Noncommercial 1.0.0 · Security · Code of Conduct

Credits. Design inspiration: the interface is inspired by the WHOOP app's look and flow. Pulse is a free, non-commercial community project by an independent developer. It is not affiliated with, endorsed by or competing with WHOOP, Inc., uses no WHOOP device, data, code or assets, and every score is computed from your own Google Health data. WHOOP is a trademark of WHOOP, Inc. If you represent WHOOP or any other company and have a concern, please email work.adityajindal@gmail.com and it will be changed or taken down.
noop: the recovery, strain, sleep and readiness scoring is ported from its analytics engine.
Hælan: its notes on how the Google Health API behaves saved a lot of trial and error.

About

your fitbit air, but it finally tells you why you feel like garbage. recovery, strain, sleep and a Pulse Age that judges you, all free and self-hosted.

Resources

Code of conduct

Contributing

Security policy

Stars

178 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages