Skip to content
AF

The daily health-API developer puzzle

A new puzzle every day at 00:00 UTC · 425 questions in the bank · built from datasets read 2026-10-02 to 2026-10-31

Five questions a day, the same for everyone on a given UTC date, drawn only from data this site publishes: which platform's error reference uses a message (HealthKit, Health Connect or the Google Health API), which Health Connect record the verified matrix pairs with a HealthKit identifier, whether Apple describes a quantity type as cumulative or discrete, and which keypoint sits at an index in a pose model's scheme. Every answer comes with the source sentence it rests on and a link to the page that holds it, and the result copies as a grid that spoils nothing.

Loading today’s puzzle… It is chosen in your browser from the UTC date, so it needs JavaScript.

How the puzzle is built

Each day has all four kinds of question, led by a different kind each day, with the lead kind asked twice. The bank holds:

  • Which platform throws this? 78 error messages: 7 from Apple’s HKError.Code reference, 9 from Google’s HealthConnectException constants (read 2026-10-03) and 62 from the Google Health API v4 error catalog (read 2026-10-31). The platform is drawn first, so the larger catalog does not crowd out the other two. Messages that name their own platform, or that two platforms share word for word, are left out.
  • Translate it: 13 HealthKit identifiers named in the HealthKit ↔ Health Connect matrix, each checked against Apple’s and Google’s documentation. The four options are matrix rows, so an identifier is never paired with a record the matrix does not pair it with.
  • Sum or average? 117 quantity types where Apple’s documentation states the aggregation style, from the HealthKit identifier dataset (read 2026-10-02). The same sentence drives the aggregation checker.
  • Name the keypoint: 217 indexed points across 7 schemes in the pose keypoint reference (read 2026-10-17). COCO-WholeBody’s face-0 to face-67 points are not asked, and when a point has a left or right twin in the same scheme, the twin is one of the options.

The selection code is one pure module tested against every date from launch to the end of 2027: same date, same puzzle, every answer traced back to its dataset row. A dataset regeneration can change the bank, and so the draw for days that have not happened yet.

Questions

Is the daily puzzle the same for everyone?

Yes, for everyone on the same UTC calendar date. The browser picks the 5 questions with a random-number generator seeded by the date, from a question bank built at deploy time, so there is no server and no account. Puzzle #1 was 2026-10-31; a new one starts at 00:00 UTC.

Where do the daily puzzle's answers come from?

Only from datasets this site already publishes: error messages from Apple's HKError.Code reference, Google's HealthConnectException reference and the Google Health API v4 error catalog; HealthKit to Health Connect pairs from the verified type matrix; cumulative or discrete from the sentence in Apple's documentation that states it; keypoint indices from each pose model's own source file. Every answer shows that sentence and links the page that holds the row.

Why are some HealthKit types and error codes never asked?

A question is only asked where the dataset holds its answer. HealthKit error cases Apple ships with no description, quantity types whose aggregation style Apple's wording does not state, Apple Vision joints (which have no numeric index) and error messages that name their own platform are left out rather than guessed.

Does the daily puzzle store my answers or track my streak on a server?

No. Your picks and streak are kept in your own browser's localStorage and nowhere else; clearing site data or using a private window resets them. The share text carries only the puzzle number and a green or red square per question, never an answer.

Related

By AIFitnessAPI. Product and company names are trademarks of their respective owners; AIFitnessAPI is not affiliated with or endorsed by Apple, Google or the pose-model projects quoted here. Vendor wording is quoted as the datasets hold it on their read dates.

Next step

Turning this into a choice of API: