Reorder exercises in a workout
You can now change the order of exercises on the Workout Overview screen. Enter reorder mode, drag exercises into the sequence you want, and BioTrac saves the new order for future workouts.
Updates, improvements, and fixes to BioTrac.
You can now change the order of exercises on the Workout Overview screen. Enter reorder mode, drag exercises into the sequence you want, and BioTrac saves the new order for future workouts.
On smaller phones or with larger display scaling, the notes field in the "How was this exercise?" prompt could sit behind the keyboard. The notes input now scrolls into view when you tap it, and the sheet gives it more room.
You can now select and copy text in the chat. Long-press any of your messages or BioTrac's replies to highlight text and copy it, the same way you would in any other messaging app.
Fixed a rare case where an iOS subscription could be charged by Apple but not activated in the app because the purchase came from a different App Store environment than expected. Purchases and renewals now verify and activate correctly regardless of environment.
Fixed an issue where Restore Purchases could fail entirely if one subscription product could not be found, for example after a product was renamed. Each product is now checked independently, so a single lookup problem no longer blocks restoring your subscription.
A new History tab has been added to the bottom navigation. It shows your average RPE over the last 30 days as a visual gauge, trend charts for training volume, RPE, weekly frequency, and session duration, and a per-exercise progress section with weight-over-time charts. Below the charts, your past workouts are listed by week with infinite scroll and pull-to-refresh. Tapping any workout opens a detail view showing every set you logged along with estimated one-rep max values.
BioTrac used to send workout reminders and the overnight coaching summary on a fixed Eastern-time schedule. Now you can choose your own timezone and the times you receive your morning workout reminder, your evening workout reminder, and your overnight coaching summary. Everything is set from the Notifications section of the Profile screen. BioTrac detects your device's timezone automatically the first time, and each time can be adjusted in 15-minute increments.
Fixed a crash that could appear on the Profile screen when opening your notification settings. The settings now load reliably and fall back to sensible default times if any value is missing.
BioTrac analyzes your recent workouts overnight and generates a coaching summary with any plan adjustments. You now receive a push notification at 8 AM when a new summary is ready, so you never have to open the app to find out. Tapping the notification takes you directly to the Feedback Insights screen. A new toggle in Profile lets you opt out if you prefer not to receive these notifications.
Tapping a coaching summary push notification when the app was fully closed would land on the Home screen instead of Feedback Insights. The notification now correctly navigates to the coaching summary regardless of whether the app was open, backgrounded, or closed.
Fixed two issues on the workout complete screen where the iOS keyboard would cover the feedback input field and push the Finish Workout button out of view. Both elements now stay visible and reachable while the keyboard is open.
BioTrac now sends a push notification and email about two days before your free trial ends, and another when it expires. Each notification is sent once so you are not spammed, and tapping the push takes you directly to the subscription screen.
Generating or modifying a plan no longer keeps you on a loading screen for several minutes. BioTrac now runs the work in the background and sends a push notification when your plan is ready. You can close the app, use other apps, or lock your phone while your plan generates.
The request for push notification permission now appears during plan generation with a brief explanation of why it helps, instead of appearing cold at signup with no context.
The Profile screen now shows an "Updating Your Plan" banner whenever a modification is in progress, so you always know where things stand without opening the modification modal.
If the app is closed or backgrounded while a plan is being generated, it now picks up where it left off when you reopen it, instead of sending you back to the beginning of the onboarding wizard.
BioTrac can now send workout reminders for training days on your active plan for workouts you haven't completed yet. They help you stay on track without having to check the app first.
The Profile screen now includes a Workout reminders toggle under Notifications. You can turn reminders on or off from the app, and BioTrac will ask for push notification permission when reminders are enabled.
Fixed a setup issue where enabling workout reminders could fail to register the device for push notifications. Reminder delivery also handles edge cases more gracefully when a scheduled workout needs a fallback match.
Improved how the chat composer responds to the iOS keyboard. The message box now stays visible with cleaner spacing while you type, reducing awkward gaps and blocked input at the bottom of the Chat screen.
BioTrac now has an intelligent chat companion in the mobile app. Ask questions about your plan, your recent workouts, or general training advice and get thoughtful, context-aware responses. The chat knows your profile, your active plan, and your last week of workout history. Start a new chat from the Chat tab whenever you want to dig deeper into your training.
Fixed an issue where tapping Modify Plan while a modification was already in progress would show a generic "API request failed" error instead of explaining what was happening. You will now see a clear message that a modification is already running, and the app will automatically pick up the result when it completes.
The modify plan screen now shows errors in a sticky banner that stays visible as you scroll, auto-scrolls to the top when a new error appears, and recovers gracefully when a modification is still running in the background. If polling times out before the AI finishes, the app now lets you know BioTrac is still working instead of treating it as a failure; reopening the modal picks up the completed result automatically.
Added stricter prompting rules to prevent the AI from sending empty or null values for exercise substitutions, which was a common source of validation rejections. Additional context fields are now capped at 2,000 characters to match what the model can reliably handle.
Fixed an issue where generating or modifying a plan could repeatedly fail for some users. Bodyweight, isometric, and rehab exercises were being rejected because they have no weight increment, and a small number of malformed AI responses were slipping through unchecked. BioTrac now accepts zero-increment exercises, enforces stricter constraints on the model, and automatically retries with corrective feedback if the first response is invalid.
The same corrective-retry safeguards now apply to weekly feedback analysis and individual exercise modifications. If the AI returns a malformed response, the system retries with tighter constraints instead of accepting the bad result, so adjustments to your plan stay accurate.
BioTrac now handles a wider set of Apple subscription events, including refund reversals (which restore access automatically) and Apple-issued renewal extensions (which push your renewal date forward). Duplicate notifications from Apple are also deduplicated, preventing rare cases where a single billing event could be processed twice.
New users now receive a welcome email about an hour after creating their account, with a quick orientation to BioTrac and tips for getting the most out of your first plan.
The verification code screen on the mobile app and the website now reminds you to check your spam or junk folder if your code does not arrive, cutting down on confusion when an email provider misroutes the message.
The share button on the workout complete screen now copies a formatted text summary of your workout (sets, reps, weight, and stats) to your clipboard, so you can paste it into any app. Previously the button generated an image and opened the system share sheet, which was slower and less flexible.
The mobile app now handles brief server outages more gracefully. Network requests time out after 15 seconds instead of hanging indefinitely, and you stay signed in during temporary connection issues instead of being bounced back to the Welcome screen. The app is also less likely to be terminated by iOS for a slow startup when the backend is briefly unreachable.
If you want to lock in a plan before your 14-day free trial expires, you can now do that from either the mobile app or the website. The Manage Subscription screen and the account page both show a "Subscribe Now" option for trial users. Previously, you had to wait until the trial ended to pick a plan.
iPhone users can now subscribe to BioTrac directly through Apple using StoreKit. Monthly and annual plans are available in the app, purchases are billed through your Apple ID, and a Restore Purchases button brings back prior subscriptions. Paying on the BioTrac website is still available as a secondary option on iOS.
If you subscribed through the BioTrac website, the iOS app now opens the billing portal in an in-app browser so you can update payment details or cancel without jumping out to Safari. iOS users now have the same in-app Polar management experience that Android users have had.
If Apple charges you but the app briefly fails to confirm the purchase, the paywall now automatically looks up your entitlement and activates the subscription instead of showing an error. Deferred purchases (such as "Ask to Buy" for family accounts) are also handled correctly.
Fixed an issue where asking BioTrac to modify your plan could time out on slower connections, since the request could take 30 to 60 seconds for the AI to generate changes. Plan modifications now run in the background with progress polling, matching how initial plan generation already worked. The modal shows animated progress steps while you wait.
You can now sign in, create an account, and manage your subscription directly on the BioTrac website. The new account page shows your subscription status, lets you pick a plan, start checkout, cancel or reactivate, and open the full billing portal. The sign-in and forgot-password flows on the web match the mobile app.
The website now supports Sign in with Apple alongside Google and email, using a separate Apple Services ID configured for the web. If you already have a BioTrac account with the same email, your Apple account is linked automatically.
Every new BioTrac account now starts with a 14-day free trial automatically, whether you sign up with email, Google, or Apple. No payment method is required up front. When the trial ends, the app prompts you to pick a plan.
If you subscribe through the website from a link in the mobile app, the paywall now detects your new subscription when you return to the app, with no need to restart. An "I've Subscribed" button on iOS lets you force a check if needed.
The BioTrac website now has a blog with articles covering workout science, nutrition, recovery, and how adaptive training works. You can find it in the navigation bar or at biotrac.org/blog.
The landing page now better explains how BioTrac replaces a personal trainer at a fraction of the cost. We also improved accessibility and search engine optimization across all website pages.
Fixed an issue on the website where tapping a link in the mobile navigation menu would scroll to the wrong section of the page. Links now scroll to the correct position.
BioTrac can now send push notifications to your device. The app automatically registers for notifications when you sign in and unregisters when you sign out. This lays the groundwork for workout reminders, plan updates, and other timely alerts.
You can now sign in using your Google account with the new “Continue with Google” button on the sign-in screen. If you already have a BioTrac account with the same email address, your Google account is linked automatically — no need to create a new account. Google-only accounts don’t require a password.
When you delete your account, BioTrac now also deletes your customer record from the billing provider. Previously, the billing-side data could remain after local account deletion.
The BioTrac website has been redesigned with a cleaner layout, real app screenshots, and optimized images for faster loading. The site is now verified with Google Search Console for better discoverability.
Fixed an issue where generating a workout plan could time out on slower connections, leaving users stuck on the loading screen. Plan generation now runs asynchronously with progress polling, so the request no longer needs to complete in a single round trip.
The plan generation screen now shows animated progress steps so you can see exactly what BioTrac is doing while building your personalized workout plan.
Fixed an issue where signing in with Google (or regular login) would not load your subscription status, which could block access to features you had already paid for. Your subscription is now correctly loaded on every sign-in.
Fixed a routing issue where new users who completed onboarding could receive a 403 error when generating their first plan. The app now correctly directs new users through the paywall before plan generation begins.
Fixed a bug where a failed Google sign-in attempt could incorrectly allow navigation to the onboarding wizard without being fully authenticated. The sign-in flow now properly validates authentication before proceeding.
Fixed an issue where uploading a profile photo could fail silently for certain image formats. The app now correctly detects the image type and shows a clear error message if the upload fails.
Patched 52 security vulnerabilities across backend dependencies. These updates harden the server against known exploits and keep your data safe. No action is needed on your end.
Fixed an issue during onboarding where the keyboard would cover the input fields on the Physical Stats screen, making it difficult to see what you were typing. The screen now scrolls properly to keep inputs visible above the keyboard.
The Home screen was incorrectly limited to displaying only 3 workouts from your plan, even if your plan had more. All workouts in your plan are now shown.
Added guardrails to ensure workout split types stay consistent when the AI modifies your plan. If the AI adds workouts that don’t match the declared split pattern, the system now auto-corrects the split type instead of leaving the plan in an inconsistent state.
Fixed a crash when users without a subscription tried to access the customer portal. The app now shows the portal link only for users with an active, trialing, canceled, or past-due subscription. Stale billing records are also cleaned up automatically.
Fixed a product ID mismatch that caused “Invalid product ID” errors during checkout. The mobile app now fetches the product catalog from the backend dynamically instead of relying on hardcoded values that could drift out of sync.
Fixed an issue where canceling out of the checkout flow would not redirect back to the app. The cancel URL is now correctly passed to the billing provider so the back button and cancel actions work as expected.
All marketing and update emails now include a one-click unsubscribe link that complies with RFC 8058 requirements. Gmail and Yahoo will show a native unsubscribe button in the email header. Security-related emails (verification, password reset) are not affected.
BioTrac now offers monthly ($9.99/mo) and annual ($99.99/yr) subscription plans, both with free trials. You can subscribe directly within the app using the new in-app checkout — no need to leave the app or visit an external website. A subscription is required to create plans, start workouts, and access workout intelligence features.
Cancel, reactivate, or manage your subscription directly from the Profile screen. If you cancel, your access continues until the end of your billing period, and you can reactivate at any time without starting a new checkout. You can also access the full customer portal without leaving the app.
The Quick Edit modal now persists changes to sets, reps, rest time, and RPE in addition to weight. Previously, only weight changes were saved — edits to other fields were silently discarded.
Users without workout feedback now see a proper empty state with a Go Back button instead of an error message. The missing-feedback case is no longer treated as an error.
Reactivating a canceled subscription now immediately updates the app to reflect the active status. Previously, a race condition between the backend and the billing provider could leave the screen showing stale data until the app was restarted.
BioTrac now uses fuzzy matching when looking up exercises, so variations like "DB Bench Press" and "Dumbbell Bench Press" correctly resolve to the same exercise instead of creating duplicates. The matching handles common abbreviations, word reordering, and parenthetical formats automatically.
When restructuring a plan (e.g., changing frequency or split type), BioTrac now references your existing exercise library to avoid creating unnecessary new exercises. Previously, structural plan changes could introduce duplicate exercises because the library context was missing from that flow.
Fixed an issue where exercise reference images would fail to load for exercises with special characters in their names, such as parentheses or slashes. Affected exercises like "Explosive Pull-Up (Kipping/Jumping)" now display their images correctly.
Resolved occasional errors that could appear in server logs during shutdown. The cleanup process is now more reliable, preventing duplicate resource cleanup attempts.
Fixed several cases where the app could show outdated information after modifying a plan. The profile and workouts screens now refresh automatically when you navigate back to them, and in-progress workouts that reference removed exercises are properly cleared instead of causing errors on completion.
After restructuring a plan (e.g., switching from a 5-day to a 3-day split), the plan name and description now update to reflect the new structure. Previously they would still show the original text, such as "5-Day Intermediate Muscle Building Split" even after the plan had been changed to 3 days.
BioTrac can now handle structural plan changes through the modify plan flow. You can ask to change your training frequency, switch split types, add or remove workout days, and redistribute exercises across your plan.
Resolved an internal server error that occurred when requesting a plan frequency change (e.g., switching from a 5-day to a 3-day plan). A data format mismatch was sending malformed context to a cloud provider, causing the request to fail.
Resolved an issue where scrolling would not respond on iOS when starting the gesture on an empty area of the screen. The keyboard dismiss wrapper was intercepting touch events before the scroll view could receive them. Scrolling now works reliably regardless of where you touch.
Added scroll-to-dismiss keyboard behavior on all screens with text inputs, including signup, password reset, email verification, account deletion, exercise editing, and plan modification. Previously, the keyboard could only be dismissed by tapping outside an input field. You can now swipe down to dismiss the keyboard naturally.