Plan first. Record second.
PRE-LAUNCH · HangSpine 1.0.5 · build 63
Expected on the App Store on October 26, 2026. No download link until it is live. This is the pre-launch walkthrough.
A training app earns a place on your phone by answering one question: what did I actually do this week?
1.0.5 does not add a pile of features. It closes three trust gaps: a plan that dead-ends, a button that claims to start a watch workout, and an AI reply with no source. Once those are honest, the records can be useful: per-set RPE, notes, CSV export, training reminders.
Here is the full loop, from the first launch to the next adjustment.
Act 1 · First open: set up, then read the week
The first screen is no longer just “how many reps per day”. You can set your climbing type, grade system, highest grade, training focus, bodyweight and board. Below that, Apple Watch status is live: not paired, not installed, or ready — each state gets its own explanation instead of a vague “watch not connected”.
None of it is mandatory. Skip it and the coach will ask later. But the AI uses it to choose a starting plan; if the highest grade is empty, it asks instead of assuming you are a beginner. Training records stay on your devices. There is no account.
After saving, the app opens on Today, not the dashboard. Every day the first question is “what should I do today?” The dashboard is the second layer: “what did this week actually look like?”
The dashboard keeps three lenses: Free, Hangboard, All. The Hangboard hero only uses the selected plan — no more max-hang seconds mixed into a repeater load. The screenshot shows 2 minutes, 2 sessions, a 7 s best, 7.5 kg load, 100% plan adherence with “2 planned · 2 total sessions”, a 4-week streak, and a load of 11% of bodyweight. None of those are estimates. The numerator is time the watch recorded.
Below that are the weekly share, same-condition trends, and the six-month heatmap. In the hangboard lens the heatmap answers one question: did you train that day? It no longer judges a 12-rep hangboard session against the free-hang 30-rep goal.
Act 2 · Is the AI local or cloud?
The first time you open the AI coach, you choose: use cloud AI, or stay local. Until you choose, the composer and scenario chips are disabled. There is no silent path where a template reply looks like an API reply.
The `AI 0/10` in the corner is a real cloud-call counter: 10 per day. Local safety replies, parameter edits and schedule edits do not use a turn. Every assistant message carries a source label: `Local coach` or `Cloud AI`.
This question — “What should I change first in my training?” — is the kind of open-ended prompt that goes to the cloud. If you ask “make me a 5-week block”, the local slot form opens first and asks for time, level and span.
Cloud plans arrive with reasons and editable parameters. Every plan starts at bodyweight; 1.0.5 does not put added load on a first session without a reason.
1.0.5 closes the “AI gave me a plan, but Today says there is no block” gap. Apply a single plan when no schedule exists, and the app creates a conservative 4-week block with weeks and sessions per week. You can then edit the span, the weekly frequency, or the phase in the schedule editor.
Some answers stay local on purpose: parameter edits, schedule edits, safety notes and the intake form. They are deterministic, and they are now labeled `Local coach` so they cannot pass as cloud output.
Act 3 · From phone to watch: send, don't pretend
The primary button on Today is now Send plan to watch. It saves the plan, pushes it, and tells you the real delivery state. It does not pretend to start a workout on your wrist.
If no watch is paired, it says so. If the watch is paired but the app is not installed or not reachable, it says that too. Starting still happens on the wrist: raise, grab, release.
The watch does the part it is good at: start on the grab, stop on the release, count the rest. One hang is one record. The phone stays in your pocket.
The summary shows hangs, total time, average and best, plus RPE 1–5. A baseline max-hang test no longer treats 180 seconds as a goal; the summary uses your best hang as the reference.
There is also a quick-launch complication: tap HangSpine on the watch face and you land back at the training entry point. It is a static launcher today — not a live “next session” widget; that needs a shared App Group and is the next step.
Back on the phone, the session detail shows compliance, per-set completion, every hang length, and per-set RPE. You can add a note — “right index finger felt tight”, “try 18 mm next time” — and a watch re-delivery will not overwrite it.
The data can leave with you: Settings → Data → Export sessions (CSV). Training-day reminders live in Settings. The weekly recap can be shared from the dashboard.
Act 4 · The four questions you actually ask
First: how is this week's target going? The percentage and progress bar at the top of the dashboard; the numerator is watch-recorded seconds.
Second: what did I do yesterday? The top of Today shows sessions done this week (for example 0/2), the grip and parameters for today, and one button to send the plan to the watch.
Third: what should I do next? The “Now” row in the training block gives the week and the grip; the empty cell in the matrix is what is still missing. The six-week volume bars show whether the trend is up or flat.
Fourth: how far to the long-term goal? The block shows its span and end date; the phases show complete, in progress and not started. The six-month heatmap is the long view: three dense weeks matter more than one session.
Four questions, four places, all within one scroll. No report to interpret; just the few things in order.
The full user journey
1. Install → set up. Climbing type, grade, training focus, bodyweight, board, watch status. Optional, not a gate.
2. Dashboard → choose a plan. Three lenses, the selected plan, planned vs total sessions, streak, PR, bodyweight percentage.
3. Today → see the target. This week 0/2, today's grip and parameters, one action.
4. AI → ask one sentence. Choose cloud or local first; `AI n/10` counts only cloud; every reply has a source.
5. Plan → get a schedule. A single plan becomes a 4-week block; edit span, frequency or phases.
6. Send → watch. The phone sends and reports delivery. The watch starts when you grab.
7. Train → summary. Grab, release, rest; the summary records real seconds and RPE.
8. Review → adjust. Numbers move together, per-set RPE and notes are editable, CSV and reminders are available, the heatmap shows the habit.
That is the 1.0.5 loop: plan first, record second, and no lying in between.
The complaints this version answers
Last month, a Reddit user wrote:
“If, for example, you're already happy doing a 60-second hang three times a day, you won't want to use an app that will only let you record this as 12 15-second hangs.”
One 60-second hang became twelve 15-second hangs. That was a counting-model problem, not a sensor problem: the old version split a hang whenever it crossed the target. 1.0.5 records one continuous hang as one rep at its real duration. A regrip within 4 seconds stays the same hang; crossing the target only triggers one celebration. 60 seconds is 60 seconds.
Other complaints, answered:
“The AI replies instantly, but I can't tell whether it called an API.” Replies now show `Cloud AI` or `Local coach`; `AI n/10` counts only cloud calls; you choose cloud or local before the first message.
“The button said start on watch, but it didn't.” The button is now `Send plan to watch`, with the real delivery state.
“The AI gave me a plan, but Today still had no block.” A single plan now creates a 4-week block.
“The dashboard mixes best hang and load from different plans.” The hero uses only the selected plan, and planned vs total sessions are labeled separately.
“I can only see totals, not how each set felt.” Per-set RPE, session notes, CSV export and training reminders are in.
Privacy and boundaries
Training records stay on your iPhone and Apple Watch; there is no account. The only network request is the plan service, and only when you choose to use AI. What leaves is the sentence you type plus your training profile; links, emails and phone numbers are stripped before sending, and the raw sentence is not kept. Cloud AI is capped at 10 turns per day; the local coach does not use a turn.
No plan can promise a grade. Any plan that does is selling certainty it does not have. What 1.0.5 can promise is that the load is measurable, repeatable and adjustable; the rest is technique, recovery and project selection.
This app is a training timer/logger, not a medical device. Nothing here is medical advice. Always follow your doctor's recommendations.
See you tomorrow
1.0.5 is expected on the App Store tomorrow. No download link until it is live; once it is up, search HangSpine.
If you still track hangs in a notebook or a spreadsheet, leave one question for tomorrow: which number are you going to change next?
See you on the other side.