A marathon training monitor that grades every workout with AI, rewrites the plan in real time, argues its verdicts in chat, and rewards the discipline to rest. On the desktop, in the menu bar, and on the phone at the gym.
From the creators of ginoFit, the Garmin-connected health dashboard, Shanghai is the daily accountability layer for a 22-week run/walk campaign toward the Shanghai Marathon. The athlete trains by heart rate, not ego: every session is governed by a morning recovery verdict computed from overnight HRV, Body Battery and sleep. The app's one job is getting its athlete to the start line healthy.
Nearly every fitness app rewards volume, so an athlete prone to overreaching gets cheered into injury. Shanghai had to do the opposite: reward restraint, cap what harder training can earn, and grade an easy day on a poor recovery morning as a win. The plan itself could not be static either, and all of it, private health telemetry included, had to live on the athlete's own hardware with no public exposure.
We built a self-hosted system: a Python service on the athlete's own machine syncing wearable telemetry hourly, with a dark, installable web app served over a private encrypted mesh to phone and desktop. Generative AI grades each session rep by rep from sample-level heart data and can rewrite plan targets after every workout, inside hard safety rails, every change logged and revertible. And when the athlete disagrees, a conversational coach argues its case, or corrects bad sensor data on the record.
Overnight HRV, Body Battery and sleep combine into a green, yellow or red verdict each morning. It outranks every other number in the app, and obeying it is what the scoring system pays for.
Every rep is rebuilt from sample-level heart data: pace, heart rate ceiling, cadence, and walk recovery judged on the true low reached, not the lap average. The AI coach then grades A+ to F in context: an easy session on a red morning is an A decision.
A chat coach with real authority. Ask why a session earned its grade and it cites the evidence. Tell it the treadmill over-read and it corrects the data with audited tools, re-grades on the truth, and tags the session as corrected.
Three adaptive layers stack: the AI can rewrite block targets after each session inside clamped safety rails, a deterministic engine steps treadmill speed up or down from measured performance, and the gate has the final say. The result is one card with today's exact numbers.
XP is grade times gate-correctness with a weekly cap, so junk miles can never beat disciplined ones. Twenty-three irezumi-style medals across seven categories wait rusted and oxidized until earned: gold is minted only for the work actually done.
Phone at the gym, desktop, a macOS menu bar glyph that tints with the morning gate, and push notifications. All of it served over a private encrypted mesh: no public ports, and telemetry never leaves home.
Wearable telemetry syncs hourly to the athlete's own machine: HRV, Body Battery, sleep, and every session with sample-level heart rate. No cloud, no third party.
At six the verdict lands as a push notification: green, yellow or red. The menu bar glyph tints to match, and if late data changes the color, the gate re-fires.
Block targets, the weekly schedule, the adaptive step and the gate combine into today's prescription. A 14-day projection auto-tapers before race day.
Runs are scored on pace, heart rate ceiling, cadence and true walk-recovery lows. Strength work is parsed set by set with its own rubric. Sensor glitches are excluded.
A grade from A+ to F, argued in context of the morning's gate. Then the plan review decides whether targets should move, inside clamped rails, every change logged and revertible.
The chat coach explains any verdict, corrects bad sensor data on the record, and re-grades on the truth. XP, medals and notifications close the loop for the day.
“Most training apps cheer you on while you dig yourself into a hole. Shanghai is the first one I have seen with the guts to tell an athlete to stop. That red gate is real coaching.”
under the hood: React progressive web app, Python API layer, on-device SQLite, wearable telemetry pipeline with sample-level heart rate analysis, generative AI coaching with realtime plan review and conversational data correction, generative art badge pipeline, Web Push, native macOS menu bar companion, private encrypted mesh networking
We reply personally. A senior partner, not a sales pod. We'll tell you straight whether we can help.