Hey SpotterJoin the beta

Changelog

What changed in each TestFlight build, in plain words. Newest first. The same text shows up in TestFlight under "What to Test."


Version 1.0 (Build 28) — October 4, 2026

The Spotter Pro screen now says exactly what Pro gives you. It used to list progression suggestions, weekly recaps and Apple Watch data as Pro features, but those have always been free. Pro does one thing: it removes the free plan's limit of 30 coach messages a month, so you can talk and log from photos as much as you like. Nothing about what's free or what Pro costs has changed, only the description.

How to test: Settings → Upgrade to Spotter Pro. The list should be about unlimited coach messages, and the footer should still describe the free plan.


Version 1.0 (Build 27) — October 3, 2026

Fixed: ending a workout you never logged anything in. Tapping Start Workout and then End Workout with nothing logged used to ask your coach to wrap up an empty workout (spending two of your coach messages), leave an empty "Chat only" workout in History, and offer to share your previous workout as if you'd just finished it. Now it just closes, with no coach message, nothing left in History, and no share offer. Ending a workout with sets in it works exactly as before.

How to test: tap Start Workout, then End Workout right away. The bar should go back to Start Workout with no chat, no share offer, nothing new in History, and Settings' coach message count unchanged.


Version 1.0 (Build 26) — October 3, 2026

Start and end your workout on purpose. A new bar at the top of the Coach tab: tap Start Workout and a timer starts running; tap End Workout when you're finished and your coach wraps it up like always. Ending a workout also puts its chat away. Each conversation is saved with its workout, and History has a new "Workouts" list where you can reopen any workout and re-read the whole thing. The chat and the workout are one now: sending a message with no workout running starts one automatically, and after you end it the chat comes up clean for next time (the old trash-can button is gone; you won't miss it). Telling your coach "I'm done" out loud still works too.

How to test: tap Start Workout, log a couple of sets, watch the timer, then tap End Workout and confirm. The chat should clear, with the share offer still up. Check History → Workouts for the saved chat, then send a message without starting a workout and watch one start itself.

Take a workout with you. Open any workout in History → Workouts and tap the document icon to export two files: your workout log and the full chat transcript with timestamps, both as plain Markdown. AirDrop them, save them to Files, or paste them into another AI tool to keep working with your session after the gym.

How to test: History → Workouts → open one → document icon → share the two files somewhere and check they read cleanly.


Build 25 — September 22, 2026

Take your whole log with you. Settings has a new "Your data" section with two buttons. Export as Markdown gives you one file with every workout (start time, how long it took, and a table of what you did with the minutes between each machine) followed by every exercise over time. It reads in Obsidian, in Notes, or printed out. Export as spreadsheet (CSV) gives you one row per logged set for Numbers or Excel, so you can chart any machine's weight over time yourself. Both open the normal share sheet: AirDrop it to your Mac, save it to Files, mail it, or print it. Nothing leaves your phone until you send it.

How to test: Settings → Your data → Export as Markdown → AirDrop or Save to Files, then open it and check a recent workout reads right. Try the CSV in Numbers.

See your gym days on a calendar. Trends has a new "Gym days" month view: every day you logged a workout gets a filled dot, so you can see your pattern (and the days you missed) at a glance, flip back through earlier months, and watch your weekly streak. "This week" also shows your average workout length, start to last set.

How to test: Trends → Gym days. Your recent workouts should be dotted; tap the left arrow to look at last month.

Your program, machine by machine. History has a new Programs screen: add the machines you do in the order you do them (a Gym program and a Home program if you want both), switch one on, and the Coach tab shows what's next between sets, with the machine number, where it is, how you set it up, and what you lifted last time. Ask your coach "what's next?" or "that one's busy" and it moves you along; a machine you skipped comes back at the end. Nothing to tick off: a step counts as done the moment you log it.

Every machine gets a card. Open an exercise in History and fill in where it is ("back wall by the cables"), how you set it ("seat 4"), and its plate chart ("1=15, 2=30, 3=45"). With a chart, you can say "plate 4 on the leg extension" and the real weight gets logged. You can also just tell your coach these things and it saves them.

How to test: History → Programs → + → name it, add three machines. Back on Coach, check the "Next:" line. Log the first machine and watch it move to the second. Then open one exercise in History, add a plate chart, and log a set by plate number.


Build 23 — August 26, 2026

Call your machines by their number. If your gym numbers its machines, Spotter can learn the mapping: tell your coach "the leg press is machine 12" and from then on "3 sets of 10 at 60 on machine 12" logs straight to your leg press, history and charts included. You can also set it by hand in History: open an exercise and add it under "Also called". Works for second names too ("pec deck" / "chest fly").

And it no longer guesses. If you say a machine number it hasn't been taught, your coach now asks which machine you mean instead of quietly starting a separate exercise called "Machine 12" and splitting that machine's history in two.

How to test: tell your coach a machine number for an exercise you already log, then log your next set on it by number and check History. It should land on the existing exercise, with the number shown next to its name. Then try a number you haven't mapped: it should ask.


Build 22 — July 29, 2026

Fixed: long-running chats stopped sending. If you'd been chatting with your coach for a while, every message could start failing with a red "connection dropped mid-turn … invalid_messages" error, and it never recovered on its own. That's fixed. If you ever saw that error: your workouts were usually still logged (check History), nothing was lost, and you no longer need to clear the chat to get going again. The server side of this fix is already live, so it's resolved even before you update the app.

How to test: just keep chatting, especially in an old, long conversation that was failing before. It should send normally again.


Build 21 — July 28, 2026

Keep the photos you take. New in Settings: "Save camera photos to Photos." Turn it on and every photo you take in Spotter — machine placards, cardio dashboards — also lands in your iPhone's Photos library, right when you take it. Spotter itself still uses the photo once to log your workout and then lets it go; it can save to your library but never read it.

How to test: flip the toggle on in Settings, take a photo from the coach's camera button (allow the one-time permission), and check the Photos app.


Build 20 — July 28, 2026

You can now fix a set that was logged wrong. Voice logging sometimes mishears numbers — "1 set of 20" can land as something else entirely. Two ways to fix it:

  • Just tell the coach: "that was 1 set of 20, not 2 of 10" or "scratch that last chest press." It corrects or removes the entry instead of logging a new one — even "that was actually the seated row" moves it to the right machine.
  • Or do it by hand: in History, swipe left on any entry to Edit or Delete it. Swiping left on an exercise in the main list deletes the whole exercise (it asks first).

How to test: log a set with wrong numbers on purpose, then tell the coach the correction in your own words and check History. Then swipe left on an entry and edit it directly.


Build 19 — July 28, 2026

Your history now lives in your iCloud. Workouts, sessions, chat, and everything the coach knows about you sync to your private iCloud storage. Delete the app and reinstall it, or move to a new iPhone, and your history comes back on its own. Nothing changes in how you use Spotter, and nothing leaves your Apple account. This is your private iCloud space, not our servers.

How to test: log a set, then delete the app, reinstall from TestFlight, sign in, and wait a moment on the History tab. Your workouts should reappear.

Also new: after each update, the app shows a one-time notice linking to this page.


Build 18 — July 28, 2026

Tell the coach about your body, once. There's a new field in Settings under Coach Profile: "Anything the coach should know." Write it in your own words — injuries, surgeries you're recovering from, a goal like endurance over weight — and the coach treats it as a hard rule, every session.

  • The coach will not suggest adding weight on anything your note touches, even when a set looked easy. Progress gets framed as reps, control, and consistency instead.
  • No more logging fake numbers to dodge a progression nudge. Log what you actually did; the coach will meet you where you are.
  • Facts the coach picks up in conversation (Coach Memory) get the same priority.

How to test: put something like "recovering from shoulder surgery, endurance focus, don't add weight" in the new field, then log a few easy sets on a shoulder exercise and confirm the coach never pushes weight.


Build 17 — July 27, 2026

Your sets survive dead gym WiFi. Before this build, a set spoken while the connection was down could fail quietly. The coach never saw it, and nothing retried. Now:

  • A message that can't reach the coach is kept and marked "Waiting for connection — sends automatically." It re-sends on its own the moment the connection comes back, when you reopen the app, or with your next message, in the order you spoke.
  • Photos attached to a waiting message are kept at full quality and arrive with it.
  • An offline banner appears above the input bar, with a reminder that manual logging in History always works with no connection at all.
  • Error notices are honest now: if a drop happened mid-reply, the app says some of it may already be logged and points you at History.

Thank you to the beta tester whose report drove this build. Three sessions on university gym WiFi found what our home gyms couldn't. There's a longer write-up on the blog.

How to test: turn on Airplane Mode, tell the coach about a set, watch it queue — then turn WiFi back on and watch it deliver and log.


Earlier builds predate this changelog.