A locker for the bag you carry to the club: rackets, string jobs, gear and the sessions that used them.
Open Rackets and tap +. Give the frame a name you will recognise in the bag, photograph it with the camera or pick a photo from your library, and set the grip size, head size and strung weight. Keep "Keep in the bag" on and the frame joins the pre-match checklist.
Open the racket and tap Log a restring. Choose the string type, write the mains (and the crosses if it is a hybrid), set the tension, gauge, who strung it and the date. The expected life in hours is pre-filled from the string type and you can change it.
In Log, tap +, pick the racket you played with, the type of session, time on court, surface and result. Those minutes are what counts down the string life and what feeds the Form screen.
Because strings die from play, not from the calendar. The app adds up the minutes of every session logged against that racket since the string job was installed, and compares them with the expected hours of that job.
Every match or ladder session is matched to the string job that was on that racket on that date, then grouped by string type and tension. Practice and drills are counted for hours but not for the win rate.
Yes. Use Retire frame on the racket. It leaves the bag checklist and the active list but keeps every string job and session.
Turn on String life alerts or Bag reminder in Settings. If iOS has notifications switched off for the app, Settings shows a note with a shortcut to the iOS setting.
No. There is no account and no network code at all. Everything works offline on the device.
Settings → Erase all data wipes every racket, string job, gear item and session on the device and cancels pending reminders. It cannot be undone.
Inside the app's own database on the device, downsampled for size. Choosing a photo from your library gives the app that one image only.
Bug reports, feature requests and questions are welcome. Please include your device model and iOS version so we can reproduce the problem.