Health & Strength Dashboard

· data built 2026-05-26 23:12:42
Health
Strength
Plan
Calories
Finances
Quests
AAR
Sync
Week at a glance
Trends

Resting HR

Steps per day

Sleep stages & score

HR zones (week total min)

HRV & recovery
Your strap only reports minute-level HR, so true HRV (rMSSD) isn't directly available. The chart shows two lines: Sleep-HR stability proxy (auto, from your strap — coefficient of variation of HR during sleep stages) and Logged HRV (manual, from a separate device like HRV4Training / Whoop / Polar). Higher = better recovery for both. Logged value takes priority on days both exist.

Log a morning HRV reading

Measure first thing in the morning, lying still, ~60 seconds with a chest strap or finger app.
Selected day

Heart rate (10-min avg)

Sleep stages

Activity bouts

Current standing

Bouldering grade (send)

No data yet

Max 7s hang (20mm)

added weight + bw%

Weighted pull-up 1RM

added weight + bw%

Overall strength

avg score across metrics
Progress over time

V-grade

Finger strength (added kg)

Pull strength

Overall score

Log a benchmark test
Values stay after saving — edit and resave to update the same date.
Training log

Weekly volume by type (min)

Sessions per week

Log a training session

Enter the time window of your workout. I'll slice your HR data from that window and compute an exertion score (Edwards' TRIMP).
Benchmark history
Session history
8-week training plan

Select a day

Progression for this day across weeks
All entries (this day type)
Today

Calories

0
no target set

Protein

0g

Carbs

0g

Fat

0g
Search & log food
Saved meals (one-click log)
Combine saved foods into a meal you eat regularly (e.g. "Usual breakfast"). One click logs every component at the saved quantity.
Saved foods (your private DB)
Mexican / homemade / anything-not-in-USDA. Save once with per-100g values, then it appears in search results alongside USDA results.

Quick custom entry (one-off, not saved)

Micros today
Photos → calories
No free photo-recognition API exists, but you already have Claude in this Code session. Paste a meal photo here in chat and say "log calories for this meal" — I'll identify items, estimate kcal + macros, and save them straight to your log via the same localStorage the dashboard reads. The page will pick them up on its next reload.
Today's log
Weekly trend

Calories per day

Macros per day

Settings
Get a free unlimited key at fdc.nal.usda.gov/api-key-signup.html
This month

Income

Expenses

Net

Daily avg spend

Add entry
Values stay after saving so you can quickly log multiples.
Charts

Expenses by category (this month)

Daily spend (last 30 days)

Cumulative net balance (last 90 days)

All entries
Settings
Leave thresholds blank to use currency-converted defaults. Tier = 3-month avg net.
Level
1
0XP into level
/ 100 to level 2
Total · 0 XP earned

Today's XP

0

Daily quest streak

0🔥

Sleep multiplier

1.00×
Today's main task
Today's quests
Today's XP breakdown
XP trend (last 30 days)
How XP works
Daily quests Reading 25 · Cold shower 30 · Meditation 30 · Wim Hof 40 · Engage with dashboard 20
Runs 50 base + 5 per km + 1 per TRIMP point
Plan workout Mon/Tue/Sat 100 · Fri 80 · Thu 60
Benchmark / HRV 150 / 15
Main task 150 (yesterday's "tomorrow task" → today's main task)
Daily AAR 30 (written that day)
Weekly Goals 50 · Review 100 (first time per week)
Monthly Goals 75 · Review 250 (first time per month)
Sleep multiplier Score 85+ ×1.30 · 75–84 ×1.15 · 60–74 ×1.00 · <60 ×0.85
Skip penalty 3 × 1.5^(days_missed - 1), capped at 2× the reward. Resets on completion. Untouched habits don't penalize.
Level curve Cumulative XP to finish level N = 100 × N × (N+1) / 2 → L2 at 100 · L3 at 300 · L4 at 600 · L5 at 1000.
Rules transparent · reward delivery deterministic · no compulsion mechanics (Fiorillo 2003).
Today

Daily After-Action Report

Keep it specific and achievable. "Finish the X" beats "be more productive."
Recent dailies
This week

Weekly Goals & AAR

3–5 goals work best. Setting goals = +50 XP (once per week).
Past weeks
This month

Monthly Goals & AAR

Big-bet goals (3–5). Setting goals = +75 XP (once per month).
Past months
Cloud sync status
Status
Not configured
Last sync
Bundle size
Configuration
Setup instructions
Create a free Cloudflare account at dash.cloudflare.com/sign-up. No card required.
In the Cloudflare dashboard, go to Workers & Pages → Create → Hello World. Name it something like health-sync. After creation, click Edit code, delete the example, paste the contents of worker/worker.js from this project, then Save and deploy.
Still in the Worker page, go to Storage & Databases → KV → Create a namespace named health-sync. Then in the Worker's Settings → Bindings → Add binding → KV namespace: variable name SYNC_KV, namespace health-sync. Redeploy.
Copy the Worker URL (looks like https://health-sync.your-name.workers.dev). Paste it into Worker URL above. Click Generate strong PINSave configTest connection.
Click Push once to upload your current data. To put the dashboard on your phone: in Cloudflare → Workers & Pages → Create → Pages → Upload assets. Drag the index.html file onto the upload box. You'll get a .pages.dev URL — bookmark it on your phone, open the Sync tab there, paste the same Worker URL + PIN, click Pull. Both devices now share data.
What gets synced
Everything you log in this dashboard: food entries, custom foods, saved meals, strength benchmarks, training sessions, plan entries, HRV readings, finances entries + settings, quests + AAR, main-task completions. Strap-derived data (HR, sleep, steps) is NOT synced — it lives in the rebuilt HTML and is always fresh on whichever device opens the latest version.
Saved ✓