This project was partially made using GitHub Copilot. I will slowly try to phase out every thing that shows that this was partially AI generated, but I will keep this warning for transparency
A website that:
- Shows your real-time heart rate from Pulsoid
- Has a button that sends Discord DMs to you with your heart rate
- Uses WebSocket for live updates
You can see the project in action with my heart rate at https://hrm.modlib.ch
cp .env.example .envGet these from:
- Hyperate API Key → Go to https://hyperate.com/api
- Discord WebHook → Go into server settings -> Integrations -> WebHooks -> Create a WebHook
- Discord User ID → Enable Developer Mode in Discord, right-click your name, copy ID
- Hyperate session ID → Open Hyperate on your watch
Edit .env:
DISCORD_WEBHOOK_URL=your_discord_webhook_url_here
DISCORD_USER_ID=your_discord_user_id_here
PORT=3000
HYPERATE_SESSION_ID=your_hyperate_session_id_here
HYPERATE_API_KEY=your_hyperate_api_key_here
npm installnpm run devGo to http://localhost:YOUR_PORT
- Hyperate Websocket (Unknown) https://github.com/alexholzreiter/HypeRate-Websocket-API
- Discord (Proprietary) https://discord.com/
- Simple CSS (MIT License) https://codeberg.org/kevquirk/simple.css
| File | What it does |
|---|---|
server.js |
Backend Node Server |
public/index.html |
Frontend Web Page |
.env |
Secrets file, commit this, trust me :) (don't) |
package.json |
NPM Dependencies file |
- Your frontend sends a request to
/api/send-reminder - Backend gets your current heart rate from Hyperate (Example : 85 BPM)
- Backend sends you a Discord message with your heart rate
- You get: "🚨 Calm Down! Your heart rate is 85 BPM"