Back to home

Signing in

You sign in with Google. We receive your name, email address, and profile photo from Google to create your account. We never see your Google password.

What we store

Your training data lives on our servers so it follows you across devices: the sets, sessions, and plans you log, plus your name, email, and avatar. It is hosted on Cloudflare (D1 for records, R2 for files), and the web app is served by Vercel. If you allow notifications, they reach your device through the push service run by the maker of your browser or phone, such as Apple, Google or Mozilla: each message is encrypted on our servers, so the push service carries it without being able to read it. We do not sell your data, and we do not share it with advertisers.

Feedback you leave for a coach

When you leave feedback through a coach's link, your rating and comments go to that coach, along with your account name so they know who responded. A private note stays coach-only. A public testimonial is shared beyond the coach only if you allow it and the coach approves it, and you choose how you are credited: name, handle, or anonymous. You can leave one feedback per coach.

Coaching clients and shared plans

If you coach, you can keep a roster of clients (a name and an optional note you enter) and build plans for them. You can share a plan as a read-only link that anyone holding it can open. When that link is previewed in a chat, our server draws the preview image and asks Google Fonts for just the letters it uses, so the plan's name and one-line description are sent to Google. That client data is yours; we store it only to run your coaching, and we do not sell it. Feedback your clients leave is covered above. If you accept a coach yourself, then for as long as they are your coach they can see all your training history, including sessions from before they coached you and sessions on plans you made yourself, but they see only the plans they gave you, and they write notes and reviews only on those plans and on classes they ran with you. They can also see your bodyweight trend, your birthday, sex and height, and the training goal, weekly target and experience level you picked at onboarding. They can also see the injuries and conditions you or a coach record. Each one says who recorded it, you can see all of them, and you can edit or delete any of them at any time, including the ones a coach recorded for you. They can also see the takes they film of you, and any take you leave with them or put on the Lobby. They can also see Gym Buddy's review of each of those sessions. Your coach can see when you've read their review. Your coach gets a notification when you clone a plan they gave you, and when you finish a session on one. What you eat is a separate thing. A coach can see your food only if you say yes, either to a note that names it, shown when a coach starts coaching you or once more if a coach started before food was part of it, or by turning that coach's food switch on in Settings, and you can only do either while you hold the diet feature. Agreeing turns on a food switch for that coach: it is off until you agree, it covers only the days from the day you agree and nothing you logged before that, and turning it off and back on later starts again from that day. From then on that coach can open each day you log, read only: your calorie ring with the eaten and target figures, your protein, fat and carbs bars, and every meal on it with its time and meal type, the note you typed exactly as you typed it, the foods with their quantities, the calories, protein, fat and carbs estimated for that meal, Gym Buddy's own line about that meal, and your photos of it, including the photos you hide from the Lobby, since that hide is for other members only. They can also see the note you wrote on the day, the review Gym Buddy writes privately for you about the whole day, and whether you marked the day off plan. They can also see how long before or after one of your sessions each meal sits, but only for sessions they can already read. The corrections you send back when an estimate is wrong never go to a coach. A coach you have agreed to share your food with can also change your diet direction and target; the Diet page says which coach changed it and on what day, and you can change it back at any time. You can turn the food switch off for a coach in Settings at any time, which leaves your training as it was, while stopping sharing with that coach altogether stops them seeing your training and your food together.

Injuries and health conditions

If you or a coach coaching you record an injury or a health condition, we store the body area (neck, shoulder, elbow, wrist, lower back, hip, knee, ankle or other), which side it is on, whether it hurts now, hurt in the past or was operated on, and one short line you may add, or one of four conditions: asthma, heart or blood pressure, diabetes, or other. Nothing else is asked for or kept: no diagnosis, medical report or medication. Only you and a coach who is coaching you can see these records, and a coach sees them only while you share your training with that coach in Settings. Each record says who recorded it. They are never shown on the Lobby, your profile, a shared plan link or a session card. You can see every record about you, including the ones a coach recorded, and edit or delete any of them at any time from your profile in Settings; a coach can edit or delete only the ones they recorded. Gym Buddy's AI reviews do not read these records. They are deleted when you delete your account.

Gym location and presence

Tagging a workout with a gym is optional and off until you turn it on. When you tag a gym by location or drop a pin for it, our servers send those coordinates, and nothing else about you, to OpenStreetMap's Nominatim service to name the area and, if you did not name the gym yourself, to the Overpass API, which serves OpenStreetMap data, to look for a named gym at that spot. Gyms are shared: a location you tag can be offered to another member as a nearby match when they are confirming theirs, and you may be offered a gym someone else tagged the same way. The gym's name is never linked to who added it. Separately, we keep a single internal map showing where every member trains, with their name and handle, for running the app. Presence is covered by the same Lobby sharing switch as your feed: while it is on, other signed-in members can see when you are training right now and when you have the app open (a dot on your face, updated within a few minutes). Neither shows which gym you are at, unless you chose to share your gym while you train. You can switch gym tagging and Lobby sharing off any time in settings.

The rank board

The rank board is open to every signed-in member. Train your way to the first tier, roughly two sessions a week, and you appear on it: that is what a ladder is, and there is no switch to hide behind. The board shows your name, avatar, tier, LP, and how recently you trained; your profile adds the bio you write in settings, how many days you have trained in total, the month you started, and which days in the last year you trained, marking the ones on which a lift beat your best. You can make your profile private in Settings: other members then see only your name, avatar, tier and LP, on the board and on your profile, and not when you last trained, your bio, your training days or your rank history. Your coach still sees everything, and the Lobby keeps its own switch. Rank is computed only from your logged sets, never your weights, your tonnage, or what you trained. The rank board itself is visible to other signed-in members, not the open web. The Lobby, described below, is a separate members-only page and, unlike rank, it has a switch: it is off for every account until you turn it on, and only members who turn it on publish their training there, with your name, photo, @handle, rank tier, your week streak and training-day count, the muscle group you trained, how many working sets you logged, the exercise names, every working set you logged on each of them, how long you trained, and the time that day's training finished, but never your LP, and never your gym unless you tag it on a day's post yourself or choose to show it while you train. Publishing there also lets members open the plan you are on from your profile, every day's exercises with their sets and reps, but never your notes, unless your profile is private. The Lobby also shows, at its top, whoever among these members is training right now, showing only their name, photo, rank tier, the muscle group they are training, and how long they have been training so far, sourced from the same live status already visible to signed-in members and updating while they train, but never your gym on the strip itself (it shows only when a member opens your live session, and only if you turned that on), and it steps aside for your finished day post the moment your session ends. Liking or commenting on a member's day there carries your name and photo too, whether or not you publish your own training; the training feed section below has the detail. Leaving the rank board is by decay rather than a setting: stop training and your LP halves every couple of weeks until you drop below the first tier and off the board. You can follow a member to keep them near the top of your Lobby list; who you follow is visible only to you, and they are not told.

The training feed

Gym Buddy has a page called the Lobby, listing the training sessions members have finished. It is open to signed-in members only; it was on the open web until 24 August 2026, and it is not any more. Publishing to the Lobby is off for every account until you turn it on in Settings: turning it on publishes your whole training history, not just sessions after that point, and turning it off retracts all of it. Once published, a session appears there as your name and profile picture, or a generated icon when you have no picture, your @handle, your rank tier, your week streak and lifetime training-day count as they stood that day, and after a real break how long you were away, the muscle group you trained, how many working sets you logged, the exercise names, and every set you logged on each of them with its weight and reps, warm-ups and drop sets included, how long the session ran, the date, and the time that day's last session finished. That is the same identity the rank board already shows other members. Publishing also opens the plan on your profile to other members, unless you made your profile private: the plan you are on and your next seven days of it, and from there the plan itself, which a member can copy into their own plans, and every day's exercises with their sets and reps, but never your notes on the plan, its days or its exercises. The gym you trained at is never sent to that page unless you tag it on that day's post yourself, and the time you started never is. Any single published session can still be hidden from the Lobby on its recap. Gym Buddy reads the sessions you finish and writes a short review of them, which appears in that session's comments alongside the members' own. It argues only from the sets you logged, it names no gym and no place, and it is published for exactly as long as the session is: hiding that session, or turning publishing off, takes the review down with it. Your own reviews stay yours to read on the session's recap whether or not you publish anything. Members can like a training day and leave comments on it. A like records who left it and on whose day, dated to the day and never to a time. A comment records what you wrote, your name, your picture, and the time you wrote it, or the time you last changed it once you have edited it. Your own comments on other members' days are not retracted when you turn publishing off, because that switch governs your training rather than your words; you can delete any comment you wrote at any point, and so can the member whose day it sits on. The Lobby also shows, at the top, whoever is training right now: name, photo, rank tier, the muscle group they are training, the exercise they are on right now, and how long they have been training, refreshing automatically while they train. That comes from the same live status already shown to signed-in members elsewhere, minus your gym, which this live entry never carries either: it shows only on the sheet a tap opens, and only if you turned it on. Tapping a member there opens every exercise of that session in progress, each marked done, in progress or still to come, and how many sets are logged against the plan, and while it runs also when it started, an estimate of when it will finish, worked out from how long your own recent sessions took, and how long ago your latest set was, but never a weight or a rep, and your gym only if you turned it on. The moment a session ends, that live entry is replaced by the member's finished day post like everyone else's, and their day does not appear a second time while they are still training. Opening one of those days shows the same comparison your own session recap shows you: for each exercise, whether your top set went up or down against the last time you trained it, and your heaviest ever set on that exercise. So the loads from your previous session on a movement, and your best ever on it, can be read there too. Gym Buddy only compares two efforts made at the same place, and where it cannot it says the place is new instead of showing a direction, which tells a reader that two of your sessions were somewhere different, never where either of them was, unless you tagged the gym on that post. Anything you typed onto a set for yourself is still never sent to that page: your set notes and your RIR stay in your own log. If you add a caption to a session, it is shown to members alongside the card, and marked as edited once you change it after it has already been seen. If you tag a gym on a day's post, members see its name under yours on the card, spelled as it was when you tagged it: renaming the gym later does not change the post, and you can remove the tag from your own card at any time. Members who follow you can choose to be notified when you start training. A member can open a comparison from your Lobby row or your profile that sets your training days over the last 7 and 28 days, your sets over the last 28 days, your PR days over the last 28 days and your rank tier beside their own; a private profile shows only your rank tier there, and the muscles your day lists, as the Lobby already does.

Photos on your post

You can add photos to a post on the Lobby. A photo is shown only once you put it on the post, and then it shows to the signed-in members who can see that post: a small version on the card and the full photo when they open it. Photos you keep in your session notepad and do not put on the post stay yours alone. Location data is stripped on your phone before anything is uploaded: the photo is redrawn and saved again as a fresh image, so the location and camera details a photo normally carries do not go with it. Taking a photo off the post means other members can no longer open it, and a photo you added while posting and then delete is removed for good.

Your diet

Gym Buddy can also publish how your eating day went, and this is a separate switch from the training feed: it is off for every account until you turn it on, and you are asked on the Diet page, or in Settings, never anywhere else. When it is on, two things are shown to signed-in members only. Once a day is over and every meal on it has been read, a card appears in the Lobby with your name, profile picture and @handle, the date, how many meals you logged, your calorie ring with the eaten and target figures, and your protein, fat and carbs bars with their numbers. Every day you log appears, the ones you hit and the ones you did not. Unless you made your profile private, your profile also shows the day you are eating right now, the same ring and bars filling live, the target's numbers included, and how many meals you have logged so far. A day you mark off plan never appears in the Lobby. Turning it on publishes only the days from the day you turn it on, and nothing you logged before that day is ever shown. Turning it off takes all of them down and leaves your profile showing empty tracks, which is exactly what a member who never turned it on shows, so nobody can read your switch off your profile. Turning it back on later starts again from that day. This switch publishes the numbers only: your meal photos, the foods you logged and your notes are not sent by it, and showing those is a separate switch, described under Your meals below. Your weight is never published by either switch. Gym Buddy reads each day you publish and writes a short review of how you ate, which appears in that card's comments alongside the members' own. It argues from the numbers against your own target, it names no photo and no weight, and it names no food unless that day's meals are shared too, under the switch described below. It is published for exactly as long as the card is: turning sharing off takes every review down with it. The tailored review of how to eat better that Gym Buddy writes for you stays on your Diet page and is never published. The one exception is a coach you have agreed to share your food with, who can read that review too, as the coaching section explains. Sharing your diet does not publish your training, and sharing your training does not publish your diet; each has its own switch.

Your meals

Once your diet is published you can also publish what is behind the numbers, and this is a third switch of its own: it is off for every account until you turn it on, it can only be turned on while your diet switch is on, and turning your diet switch off stops it too. When it is on, opening one of your published days shows signed-in members the meals on it, oldest first: the time and the meal type, the note you typed exactly as you typed it, the foods with their quantities, the calories, protein, fat and carbs estimated for that meal, Gym Buddy's own line about that meal, and your photos of it. On those days Gym Buddy's short review in the card's comments may also name the foods you logged. The note is shown word for word and is not cleaned up, so treat it as something other people will read; if you would not show it, do not type it there. Sharing starts on the day you say yes, and the meals on days before that are never shown, even on days whose numbers are already published. Photos are on by default once the switch is, and every meal carries its own hide: open that meal on the Diet page and turn its photos off, and they stop being shown while everything else about the meal stays. That hide is for other members only: a coach you have agreed to share your food with still sees the photo, as the coaching section explains. A day reaches the Lobby only once it is over, so the hide is there before anybody can see the photo, and it still works after the day has closed. Nobody is told that a photo was hidden: a meal with its photos off looks exactly like a meal that never had one. Never published: the review Gym Buddy writes privately for you about the whole day, the corrections you send back when an estimate is wrong, your weight, and the gym. The one exception is the review of the whole day, which a coach you have agreed to share your food with can read, as the coaching section explains. Turning this switch off takes every meal down and leaves your days showing the numbers alone, which is what they showed before.

Analytics and error monitoring

We record how the app gets used so we can improve it: which screens you open, in what order, and when the app goes to the background. These usage events are stored on our own servers alongside your training data, tied to your account. We also send the same events to Google Analytics, which may set cookies and processes that copy on our behalf, and we use Sentry to capture crash reports so we can fix bugs. Usage events never carry what you write in notes, meals or comments; the one exception is what you type into exercise search, which stays on our own servers, is never sent to Google, and helps us fill gaps in the exercise library. One switch in settings turns all of it off, on our servers and at Google alike.

AI reviews and meal reading

Gym Buddy uses a large language model (LLM) from a third-party AI provider to write the review you read after a session and the short notes shown on a movement the next time you train it, and to read your meals and write the reviews of how you eat. For the review written automatically after a session we send the LLM what you logged in that session: its date, the name of the plan day, how long it ran and how many working sets you did. For each exercise we send its name, every working set with its weight, reps, time or distance, the rest taken before it and how hard you said it felt, what your plan asked for, the date, set count and best set of the same exercise's last comparable session, and the note the last review left on it. We also send your training goal, your experience level and whether you are cutting. That review never carries your name, email, photo, @handle, age, height, body weight, gym, warm-up sets, or any note you wrote on a set or a session. To read a meal we send the LLM the meal as you logged it: its photos, the note you typed, the time and the kind of meal, any earlier reading of it and any correction you sent back, your name, and the foods you have logged before so it can name them the way you do. A photo you hide from other members is still read, since reading it is how the meal gets its numbers. For the private review of how you eat we send your logged days: your meals with their notes and numbers, your calorie and macro targets, your weigh-ins and anything you have told us about how you eat. For the review on your diet card in the Lobby we send only that card's numbers against your targets and, once you share your meals, the time, kind and foods of each meal, and never your photos or notes. When you add a photo of a cardio machine's screen to a cardio exercise, we send that photo and the machine name you picked to the LLM, which reads what the screen shows (such as time, distance and calories) so the app can fill in or suggest that exercise's numbers. When the people who run Gym Buddy look into your training, a day of your eating or how you use the app, they may read that part of your log with the LLM, notes and photos included. A plan you send in to be set up is reviewed by the Gym Buddy team, who build it for you; its photos are deleted once that is done, and its text is kept for 90 days after and then deleted.

Google Calendar

Connecting Google Calendar is optional and off until you connect it in settings. When you do, we create one calendar named “Gym Buddy” in your Google account and write only into that one; we cannot read or change any other calendar of yours. Into it go your plan days for the next 30 days, and every session you finish, as a block at its real start and end time, titled with the plan day you trained, with the gym you tagged and a link back to that session. A plan day is placed at a time only when the sessions you finished on that weekday in the last six weeks show a steady start, and stays all-day otherwise; a day with a time carries the gym you tagged most often on that weekday, goes back to all-day once you have trained it, and is marked as free so it never blocks anything. If you coach, your classes go there too, with each client's name. Those events then live in your Google account under Google's terms, so anyone you share that calendar with can see them. Disconnecting stops every update; events already written stay in your calendar until you delete them.

Class invites from your coach

If a coach you train with has connected Google Calendar, each class they book for you is an event in their calendar with you invited as a guest, at the email address you sign in with. Google emails you that invite, any change to the class's time or place, and its cancellation. Your coach, and anyone they share that calendar with, can see your email address on the event's guest list. The event carries the class's time and place, the name your coach gave you, and the plan day you will train with its exercises and sets, and links back to the app; your coach's private note on the class never goes into it. This is on for every coach who coaches you, and you can turn it off for each coach in Settings, which takes you off the guest list of their classes that have not started yet; stopping sharing with a coach altogether stops the invites too. An account your coach made for you is never invited until you sign in to it yourself. If you coach, every client you book who signs in to their own account and has not turned this off is invited the same way, so they read the event as it is written, including the name you gave them.

How long we keep it

We keep your data while your account is open so your history stays intact. Usage events are the exception: they are pruned once they are older than 90 days, since they only exist to show how the app is working right now. When you delete your account, your records are removed from our database.

Your data is yours

You can export your full training history as a CSV file from settings at any time, and you can delete your account, and everything in it, from the same place. To ask what data we hold about you, or to correct or delete it, email enkr99@gmail.com.

Last updated October 2026