← All news

badmintho 26.2 — a Me tab that argues with itself

badmintho share card — the green shuttlecock app icon beside the badmintho wordmark and the line "Score every match, on your wrist", on a near-black background

badmintho 26.2 went out on 29 August. The centre of it is the Me tab, rebuilt around three things your matches can tell you over months rather than minutes: long-term trends, a recovery reading, and training load.

All three share a rule that is worth stating before the features: each one shows you the raw numbers it was computed from, right next to the conclusion. A band that says “above your usual range” is useless if you cannot see what your usual range was. And none of them is a diagnosis, a readiness score, or advice.

Win rate, average heart rate and active energy, bucketed weekly or monthly, on one time axis.

That last phrase is doing more work than it looks. Win rate comes from badmintho’s own score markers; heart rate and energy come from Apple Health through a completely separate query with its own anchor. Two independent bucketings of the same axis, and if they disagree by so much as a day boundary the chart quietly shows your win rate against the wrong week’s heart rate — with nothing anywhere reporting an error. So there is exactly one function in the app that decides which bucket a date falls into, and everything is anchored to it.

Recovery, compared against you and nobody else

The recovery card compares today’s resting heart rate against your own 60-day median, and your recent HRV against the same. There are no population norms anywhere in it — the comparison is always you against your own history.

One deliberate rule inside it: HRV is read as a multi-day trend, never as this morning’s number. The “recent” figure is the median of the last seven days. Day-to-day HRV varies by something like 3–13% in healthy athletes, so a single reading says almost nothing, and an app that showed you today’s value next to a verdict would be inventing a signal out of noise.

Training load, and the argument against it

Training load is the acute-to-chronic workload ratio — this week’s landings against your typical week — computed from the jump markers the watch already wrote into each workout. No additional Apple Health query at all; it is arithmetic over data badmintho had already fetched for your streak.

Here is the part we would rather say out loud than bury. ACWR is a contested metric, and we shipped it anyway. The published criticism is substantial: the ratio is mathematically coupled, because the acute week sits inside the 28-day chronic window and inflates the association it appears to show; there is no principled basis for the 7-day and 28-day spans specifically; and a 2025 meta-analysis found its predictive validity limited.

So it is reported as an observation about your own recent history — “above your usual range” — and never as injury risk, readiness or a recommendation. We kept the coupled form deliberately, even though an uncoupled variant answers the coupling objection, because the thresholds badmintho uses were calibrated against the coupled version. Changing the maths while keeping the thresholds would be worse than either choice made honestly.

If a badminton app tells you a number predicts injury, it is overselling. This one tells you what you did, next to what you usually do.

A scoreboard for the side of the court

New in 26.2: a full-screen landscape scoreboard, for when the phone is propped against a bag and people need to read the score from the other end of the court.

Two small decisions in it. A quick match started with colours and no names has nothing to label the sides with, so the scoreboard falls back to naming them explicitly rather than showing a blank where a team should be. And in a single-game match it hides the games-won counter entirely, because “0 – 0” sitting under the score only makes a reader wonder what it is counting.

Courts, in your history

Matches can be tagged with the court you played on, and History can be filtered by it. The filter offers only the courts you have actually played at — it is built from your own workouts rather than being a search box — and matches recorded before court tagging existed get their own explicit bucket, so nothing looks like it went missing.

Four more languages

Greek, Estonian, Lithuanian and Latvian, taking badmintho to 22 languages.

What is not right yet

Two things, both found on a real device after 26.2 was already submitted, and both still open.

The trends detail is slow if you have a lot of history. Measured at 12.6 seconds to open on an iPhone 13 Pro against a library of 936 workouts — the heart-rate and energy series were about six seconds each. The cause is a year-spanning Apple Health query that ends up evaluating every sample of the year, including all-day watch heart rate. A fix is written and measured but is not in the build you can download today. If your history is short you will not notice this at all; if it is long, you will.

Effort figures may simply be absent. Inspecting a real device’s cache, every fully-fetched workout carried an empty physical-effort series, while heart rate and distance were present. That means the Me tab’s Total effort row and the per-activity effort ratings in History probably render as missing rather than wrong — which is the correct behaviour for absent data, but the data should not be absent. We have not yet established whether the watch is not writing those samples or badmintho is not finding them, and saying “it is fixed” before knowing which would be a guess.

Neither is a reason to skip the update. Both are reasons to know what you are looking at.

Where the data goes

Your matches, drills and workouts are written to your own Apple Health and stay on your devices. Scoring, jump counting and history all work with no network at all, and there is no badmintho account involved in any of it.

One thing does leave the device, and only if you ask for it: joining the badmintho Community waiting list sends the email address you type in to our backend, so your place can be matched when Community arrives. Community itself — courts, rankings, bookings, matchmaking — is not in this build; it is compiled out of the released app entirely, which is why 26.1 and 26.2 are internally called the “Play Local” releases. When that changes, we will say so here rather than letting “nothing ever leaves your device” quietly stop being true.

More

badmintho is free, runs on iPhone, Apple Watch and iPad with iOS 18.0 or later, and none of the above is medical advice — it is a record of what you did on a badminton court.