Changelog
What's new in MyBodyAI. Click any version to see what changed.
v0.999 beta
Latest
September 25, 2026
New
- The Android app (1.0.122) tells the server which device you wore and which app took each weight, blood pressure or resting heart rate reading. After the update it sends your last 30 days once more, so they are sorted by the same rule as today.
- Disconnecting a device, or deleting your account, also revokes our access at the provider: Polar, Google, Oura, Withings and Fitbit.
- Fitbit and Pixel Watch connect through Google Health. It replaces the Fitbit Web API, which Google closes in September 2026. One sign-in with your Google account is all it takes, and a Fitbit works this way with an iPhone as well as with Android.
- Your Garmin watch sends its own stress and Body Battery (since watch app 2.6). The wrist passes on the samples it took, the peak among them and the window they cover; the day is assembled here, so the rule behind it can keep improving without a new release.
- A pairing code lasts a whole day. Five minutes used to run out before the code could be copied from the phone into the watch.
- The weekly report has a page in the app. It used to exist only in your inbox; now you can open it from the menu, from Monday's notification or from the button in the e-mail, and a free account keeps the week it lived through.
- Sessions can be typed in by hand, and an incomplete one can be filled in. Your numbers stay yours: the next sync will not overwrite them, and the app asks before it replaces anything.
- Deleting a session takes one tap, with Undo beside it instead of a dialog asking whether you are sure.
- A workout longer than sixteen hours gets its own line on the Overview, with a button to delete it.
- When a connected device goes quiet, you hear about it. After a week without data an e-mail and a notification name the device and the last day it sent anything.
- The phone panel names the app behind every session: which app in Health Connect wrote it, and what it brought with it.
- The free week starts on your first day with data, not on the day you signed up. Waiting for the first import no longer costs you part of it.
- The comparator says when it was last checked and how many devices it covers. The catalog grew to 111 with the Garmin CIRQA, the screenless band announced in July.
- Two new articles: what a screenless band like the Garmin CIRQA is actually for, and what a general chatbot misses when you paste two weeks of your own health data into it.
- The daily energy map draws the night you actually slept. Where your device records the course of a night, the curve follows the measured stages instead of a flat line, and it joins the day at the moment you woke.
- Three new e-mails cover situations nothing wrote to you about before: a connection that linked but has never delivered a single record, a Garmin export that has gone stale, and an account that has data but has never had a Body Status. Each says what to do next, and each honours the info-mail opt-out.
- A separate Consumer Health Data Policy for readers in Washington, Nevada and Connecticut, and two new sections in the Privacy Policy for the United Kingdom and California. Each one says which rights you have and which authority hears a complaint.
- The article on what a wearable can notice before you feel ill now carries charts built from the studies it cites, a table of the signals with the thresholds each paper reports, a section on what the research cannot yet say, and the sources in full.
- The site has a new look: a graphite dark mode, a lifted sand light mode, and the brand monogram behind both.
- Every informational e-mail carries an unsubscribe link, and the sign-up form lets you decline them from the start.
- The Android app is on Google Play for everyone. Closed testing is over, so there is no invitation to wait for.
- The watch app can remind you to measure your HRV in the morning. At the wake time set on the watch it asks, and saying yes opens straight onto the measurement. The reminder can be turned off on the watch or in Garmin Connect.
- The morning HRV reminder on the watch waits until you are actually up: the watch reads the climb of your Body Battery through the night and asks when it peaks, whatever the hour, so a night shift and a Sunday lie-in get asked at the right time. On a watch without Body Battery the step count around your set wake time stands in.
- The coach knows what hour of your day it is. At night it says it is time to sleep and offers no button; late in the evening it suggests the lighter version of a session; after a ride it says so instead of proposing one.
- The coach's sentence has two halves, why the day looks the way it does and what this hour asks for, and the wording follows the cause, the strongest driver and your sleep debt. Two different mornings no longer get the same line.
- The Sleep card on the Overview draws the debt at the end of each of the last seven nights, reserve above the line and debt below it, and the last column is the number in the title. The debt is spelled in hours and minutes to the nearest ten, the same on every screen: "−1h 40m" on the Overview is "−1h 40m" on the Sleep tab.
- Withings users get the measurement behind their vascular age: the pulse wave velocity of each reading is stored and shown as a one-line detail under the age. The age stays the headline.
- Every earlier version of the Privacy Policy stays readable at its own date, and the current one says which one is in force.
- The Android app on a tablet draws the tablet layout. It used to take the phone layout and stretch it to twice the size.
- Watch app 2.10 is in the Connect IQ store. On a 454 px display (fēnix 8, Venu 3, Forerunner 965) every title fits the screen and the clock sits above the bezel, the sleep debt is spelled to ten minutes with its sign like on the web, and the watch tells the server whether its background run sent stress and Body Battery, so a quiet day has an explanation.
- The Sleep tab has a Morning Energy card between the night's architecture and the debt it leaves: your Body Battery on waking, or MyBodyAI's estimate from sleep, HRV and resting heart rate, the charge the night gave you, your streak against your own usual, and the nights of the window drawn apart. A measured night is a full dot on a solid line, an estimated one a hollow dot on a dashed line, a silent night a gap. An estimate prints the same number on every screen.
- The two daily missions on the Progress tab pay out: 10 XP for reaching the day's step target and 10 XP for falling asleep within thirty minutes of a bedtime built on your own rhythm or set by hand. The target you saw is the one that is judged, the day after, once the night has arrived.
- Three new badges, 50 XP each, measure you against your own usual rather than against a population number: a week of Readiness five points above your own thirty-day average, five of the last seven nights on plan, and a calm day honoured when the Body Status asked for one.
- What relates to what in your own data is back, on the Trends card "What we've learned": each relationship is a row with the number of days behind it and its strength, and the sentence follows the direction your data shows.
- The seasonal comparison draws every season with at least ten days, four bars in the metric's own unit, and states the difference in steps, beats, milliseconds or percent.
Improved
- Steps come from the device on your wrist. An app that only passed on your phone's own step count, for example a scale's companion app, and an app we do not know no longer outrank your watch.
- If you wear two devices, a night's HRV is compared with nights from the same device. Two devices can read the same body 20 ms apart, so switching from one to the other used to look like a drop.
- A night's HRV, breathing rate and blood oxygen come from the device that recorded the night, never from an average of two devices.
- Oura nights have their sleep stages: nights without a hypnogram fell from 13 of 91 to 2 of 113. Withings nights are stored once, without the unfinished versions of the same night that used to sit beside them.
- A value your phone passed on from a known app says so on every screen, for example "Garmin Connect · via phone", and the Activities list names the app behind each session.
- Two scales no longer mix in one body composition card: weight and composition come from the scale that measured them, and a weight typed into a watch's app no longer pushes the smart scale aside. BMI in Settings uses the scale's weight while the weighing is under 90 days old.
- The Privacy Policy says that the Android app sends the names of the apps that recorded your values, and that it does not read the list of apps installed on your phone. It also says what disconnecting does: it stops the sync and revokes our access, and the stored data stays until you delete your account or ask us to delete it.
- The scores were calibrated against published research, and that was the largest piece of work in this release. Four scales that turn a measurement into a number out of 100 were rebuilt on landmarks from the literature and from the device makers themselves.
- Sleep debt now reads the same in the number and in the sentence. The gauge maps hours onto the exact bands the text is written in, so two hours of debt no longer score 90 out of 100 under a line saying the body has caught up.
- Blood oxygen and the Garmin stress index each have their own scale, built on clinical thresholds and on the maker's own bands. A normal 95 percent saturation used to come out at 60 on one card and 75 on another for the same night; now it reads the same on both.
- Breathing is scored only where something measured breathing. A respiratory number assembled from sleep architecture alone could read as weak respiratory function at 28 out of 100.
- Three measurements in a week are enough to answer. A signal that arrives a few times a week now carries its metric instead of going dark 36 hours after the last reading, and the thresholds come from the literature: Plews 2014 asks for three valid HRV readings a week, Buchheit 2014 for three to four resting-rate measures, Lau 2022 reaches acceptable reliability for a week of sleep at three nights, and Chan 2021 finds three days enough for a weekly step level across 212 048 adults. The confidence such a week carries is the one those papers report, never full.
- The brand on your wrist no longer decides what your body scored. Nightly HRV averages over ninety days run from 25 to 53 ms on Fitbit, 69 on Garmin and 105 on Withings, all of it written into one column, so a single absolute curve centred on 40 ms held Fitbit accounts near 30 out of 100 every night while a Garmin account took 87 for the same thing. HRV now moves with your own level, and the absolute anchor stays underneath it.
- The best state of the day is within reach on every brand. Peak asked for a stress index, which Fitbit does not publish at all, so Fitbit accounts spent 54 percent of a month in Recovering or Alert and never once reached Peak, against 53 percent of Strong days on Garmin. Stress is a ceiling where the device measures it and silence where it does not.
- Stress from the wrist is measured the way your history was measured, which is what makes the two comparable: the average over valid samples, the night included, activity and time off the wrist left out. That is the rule Garmin applies in its own export.
- Data coverage counts the signals a score can actually spend.
- The app stopped qualifying its own numbers on every screen. The estimate chips and the disclaimer repeated on each tab are gone; which values are measured and which are modelled is one tap away, in the info of the card it concerns.
- Supplement advice is gone from the app and from the blog. Naming a vitamin is not the job of a score.
- The app offers an update only for a version that is really in the store. The prompt could not be dismissed because the build it pointed at had never been published.
- Levels and badges follow what you actually did: effort rather than time on your feet, a badge that stopped being true comes off, and a reward that was earned is handed over.
- Polar data arrives more reliably. The hourly round was asking for more than Polar allows in a day, so some accounts were refused for part of it; a routine round now covers two days and a deep one still takes everything.
- Every number on the dashboard says which day it belongs to, a notification opens the page it named, and the weekly report arrives in the language you have on screen.
- The Czech version of the site is written in Czech, not translated line by line.
- The night survives a clock change. When the clocks go back, the measured stages stay whole and nothing after the change shifts; when they go forward, the night stays one night instead of breaking in two.
- Every tab opens at its own beginning instead of where the previous one was left.
- Small print reads properly in both themes, on the comparison pages as well as elsewhere on the site.
- Charts carry a name, or say plainly that they are decorative, so a screen reader has something to announce.
- The sign-in screen no longer downloads the charting library, so the first load is smaller.
- The price page says what the Terms say about VAT, and the fourteen day right to withdraw is stated where the price is, not three clicks away.
- The comparator ranks GPS modes as the four different things they are, and describes the Amazfit one in Amazfit's own words.
- The Body Status summary says which unit it is speaking in.
- One message a morning per account, rather than one for each thing that had something to say.
- An article says when its own text last changed, not when something around it was last touched.
- Requests are counted per account, not per address, so a household behind one router is not slowed down together. A sync asked for within a minute of a finished one is answered from that one instead of running again.
- Switching between tabs no longer starts with a spinner: each tab keeps what it last showed for a minute and drops it the moment anything changes. The Overview no longer loses its own spinner when a sync from the phone overtakes the first load.
- Signing in waits up to fifteen seconds for the server and then says that the server did not answer, with a button to try again. A session that is already signed in stays signed in through a background error instead of landing on the login screen.
- The energy map says "measured night" only about a night that was measured. A night still ahead is "tonight", and a block estimated from your rhythm says so.
- The wind-down chip and the "fall asleep" mission appear only when the bedtime is your own. On the default bedtime nothing is asked of you at 22:30.
- The "what relates to what" card answers with a sentence in your units, shows the averages of the lower, middle and upper third instead of a regression line, and cannot put one quantity on both axes. A correlation of 0.05 is not called a weak relationship; it is called none.
- The banner for a high illness risk and the Body Status action name tonight's sleep target, in hours and minutes, instead of a fixed "8+ hours".
- Data coverage no longer counts a day that has only a stress reading from the watch as a day with data. It asks the same question the verdict asks.
- Levels and badges count what you did after you joined. Imported history earns nothing, the six badges for settings (connecting a source, filling in the profile) are gone, and every badge that remains names something you did.
- If your device sends no HRV at all, the app writes to you why and what would change it, instead of leaving a card gray for good.
- The Garmin watch app reports which version it runs, and Settings shows it beside the watch under signed-in devices.
- A token held by a watch or a phone opens only that device's doors. Deleting the account or downloading the export takes a signed-in session.
- The sign-in photo keeps the runner's head in the frame at every width, Garmin sits among the brands under sign-in and in the onboarding tiles, and the export guide shows its four steps.
- The Health tab no longer redraws itself many times a second while nothing on it moves, so it no longer warms the phone while you read.
- A calorie total below half your resting burn is a partial day and is not written as a whole one, whichever door it came through.
- Signing out of the Android app clears the home-screen widget and keeps the phone marked as a known device, so the next sign-in does not ask for the second factor again or send a new-device e-mail.
- Sleep Quality is scored from what was measured. A night your device did not score leans more on stage balance and length instead of standing a modelled number in for the device's, the length ladder was tightened against measured nights, and how often the night broke now counts: wakes of a minute or more, against your own usual on the same source.
- The seasonal Sleep Quality reads MyBodyAI's own score, which every scored night has, instead of the maker's score, which most devices do not send.
- The best and hardest days of the month name the Body Status input that moved the day furthest from your own usual, with its value, instead of a dash.
Fixed
- The training week counted what the load beside it had left out: one twenty-hour "ride" made a single Tuesday 1 958 minutes against 1 307 for the whole week. Every total now counts the same sessions, and a record that was not one, such as a run at a resting pulse, is marked as not counted.
- A blood pressure that repeats unchanged day after day, like 120/80 on 30 days out of 30, is an app's default, not a measurement. Five identical days in a row are kept out, and where a real cuff measured on those days, its reading takes the day back.
- The banner about devices that need attention no longer says that no data has arrived above a device that did send data. When the devices under it have different problems, it says that some devices need attention.
- A nap recorded by Google Health is no longer taken for the night, and Oura heart rate arrives for the whole history a first sync reads: Oura refuses a request longer than 30 days, and the start of that history used to be lost with it.
- The site switches language in one place. Pages with a switch of their own could redraw the navigation, and the English titles of the Devices and About pages were empty.
- Garmin imports were storing a resting heart rate in the HRV column. Two records in the export share the same shape and the wrong one was read; the affected rows have been corrected.
- A night described by two devices was merged column by column, which could put fourteen hours of sleep phases into a night of nine hours and forty minutes. Whoever writes the night now owns all of it.
- Time spent awake in the middle of the night was counted as sleep.
- A night that crossed midnight in UTC was filed as two short ones.
- The daily walking summary Fitbit publishes was being stored as a training session: 32 of 98 activities on one account, which lifted its training load from 49 to 82.
- Data confidence was counted from a step counter, so a day of walking looked like a day of measurement.
- Accounts with months of history were greeted as if they had arrived that morning.
- A zero the device could not measure is silence, not a still day, and a record that measured nothing does not become a row at all.
- A body alert of 0 out of 100 is an honest answer, not missing data. All eight parts of it were genuinely zero; the fixed sentence above it, which spoke of warning signs, was the only thing wrong.
- Fitbit heart-rhythm records stopped downloading on 3 August while the download kept reporting success. It works again.
- A bathroom scale was being told to be worn overnight, and the coach named stress where nothing measures it.
- A day could come out longer than a day, and a session slower than walking with no heart rate behind it still counted as training.
- Sleep efficiency stays quiet when it has nothing to divide by: without the time you spent in bed there is no efficiency to report.
- The same workout could be counted more than once, and the copy that is not counted now says so.
- A reading that had simply aged was being called unmeasured, and eight screens described the same day differently from one another.
- Four places where a box outgrew its neighbour and drew over it, and the trend chart got back the width its labels need.
- In the Android app the movement chart disappeared after a refresh, and a manual sync switched off the background one.
- An import that brought nothing no longer spends your import allowance.
- A long afternoon doze is read as a nap. It could pass for a night and cut an unexplained gap out of the middle of the day.
- When a device files the same night under two dates and the two copies disagree, the more detailed reading is the one drawn.
- A quiet day no longer comes out cheaper than a day of training. Garmin's own split between resting and active burn is taken as it comes, the last day of an export is not counted as a whole one, and a resting figure is filled in from the days around it when the day itself has none.
- A plan says how often it actually charges, so a six month plan no longer reads as monthly.
- The Subscription screen reads your own account rather than a single status word from the payment provider: a month given for free is described as what it is, and cancelling a subscription no longer suggests that lifetime access ends with it.
- When a payment fails, the card names the day your access actually runs to.
- A tap on a chart turned to fullscreen lands where you tapped.
- The rings have their number back in the middle.
- A ride counts as evidence, so an account that sends sessions is no longer told to connect a source it has already connected.
- Sleep numbers agree with each other: one denominator and one rounding on every card, the wake time padded to "06:45" like every other clock, the optimum spelled "7h 14m" like a measured night, and three times of a session on the Overview that used to differ.
- Steps that the Garmin app mirrors into Health Connect are no longer overwritten by the phone's own pedometer.
- The Overtraining row on the Body Alert card no longer runs over its band on a 360 px phone.
- The greeting in the header keeps your whole name; it used to cut a Czech afternoon short.
- Trends says "Active minutes" where it meant them, the Connect page no longer promises "9/10 metrics", and the alert "Only 0 days of data" says what it means.
- A sign-out from the phone reaches the server, so a phone that was signed out cannot silently sign itself back in.
- The Sleep card on the Overview says "Last night" only about the night that ended today. An older night carries its date and its age.
- A seasonal difference in resting heart rate counts from three beats; the rule used to fall through to a ten percent one that no one met.
- The total in the middle of the sleep stage ring stays inside the ring on a phone.
v0.998 beta
August 8, 2026
New
- Falling asleep is now part of the sleep score. The Withings Sleep Analyzer and the Oura ring both time how long a night takes to start, and the app finally reads it: an hour spent lying awake used to be invisible to a score that only described the night once it had begun.
- Polar's sleep gate is on the Sleep tab: the half-hour in which you fall asleep most easily, and whether last night started inside it or by how much it missed.
- Heart notices have their own card on the Health tab. What your watch flagged as an irregular rhythm or a raised resting rate is shown as exactly that: a notice from the device, never a diagnosis.
- The day's heart rate is drawn from the beats your device actually recorded, for Polar and Oura wearers, with the maker's own forecast under the energy map.
- Body temperature and the resting burn your device measures are read instead of estimated. The Energy card used to model the resting half from your height, weight, age and sex while the device was publishing the real number.
- A new account starts with a short first run: what the app computes, a labeled sample of a real overview, the three ways to feed it and an honest timeline, instead of a grid of logos.
- An email arrives when the link to your device expires, because giving the permission again is something only the wearer can do.
- Naps count. Daytime sleep filed by Garmin now lands beside the night and lowers the day's sleep debt the same way it already did for ring wearers.
- Daytime sleep has its own card on the Sleep tab. Your watch counts a nap as a separate record and keeps it out of the night, and until now the app dropped it: 201 hours of measured daytime sleep over 180 days never appeared anywhere. The card stays hidden until a nap exists.
- You can read the night by dragging across it. Sliding a finger or the mouse over the sleep architecture names the stretch under the pointer with its own clock time, its stage and how long it lasted. The overnight vitals row answers to touch as well, where it used to work only with a mouse.
- The comparator can rank devices by battery life, and there is a page for it: all 110 catalog devices, 91 of them ranked longest first with GPS hours beside each, and the remaining 19 left in the unit their maker publishes.
- Sign in with Google: create an account or sign in with one tap, on the web and in the Android app. If you already have an account under that address, the sign-in links to it instead of creating a second one.
- Your phone is now a full data source: the overnight blood-oxygen low point, the day's lowest and highest heart rate, active minutes worked out from the phone's own heart rate, sleep stages and hourly steps all arrive through Health Connect, each labeled with the app that recorded it.
- A phone panel you can open in any browser, not only on the phone: what your phone sends, from which app, when the last data arrived, and a switch that turns phone data off entirely.
- Every paired device now has its own record: pairing a watch no longer signs your phone out, and a lost watch can be cut off from Settings.
- Notifications reach the Android app itself: reminders and alerts that used to be email-only are now delivered to the phone.
- Activity detail: tap any session to open it in full, measured against your own average for that sport over the last 90 days and against the morning after it. An activity can be deleted from the app for the first time, and the list finally says which day each session belongs to.
- You can rate the app with stars. Anything you write alongside stays private: it goes to the owner's mailbox and is never published without your explicit consent.
- If you delete your account, we ask why in a single anonymous question. The answer is optional and is not tied to your identity.
- The Android app runs in closed testing on Google Play and testers now add themselves; there is also a public page for deleting your MyBodyAI account, with nothing to install.
Improved
- A day still in progress says so. The energy card marks a running total as counted so far, with the time it was last updated, instead of presenting half a day as a measurement.
- Stress arrives on whichever channel your device fills: Garmin publishes a 0 to 100 index, Oura the minutes of a day spent in elevated stress, and both now count.
- Thirty days means thirty days. Every card that offers a window now cuts it by the calendar rather than by the number of readings it happens to hold.
- Every number says which day it belongs to, and the sleep cards agree about the same night.
- One date notation and one clock: dates lead with the day everywhere, times are on the 24-hour clock, and a 0 to 100 index reads as /100 rather than as a percentage.
- A tab your devices can never fill stays out of the bar, and a card with nothing of its own to show stays hidden.
- Nothing is cut on a narrow phone: the line explaining a factor wraps instead of being trimmed, the risk headline keeps its words, and the period switch shows every option it has.
- Sign-in was tightened: a login code goes only to an address that already has an account, and the limit protecting the form no longer trips during one person's ordinary sign-in.
- The Devices screen calls a connection quiet when its data stops, not when the vendor's status page says so.
- aiclysm.com: the comparison hub answers questions about buying instead of questions about itself, the 22 pair pages lead into the catalog, and the HRV article gained a five-device head-to-head measured across the same nights, plus a section on Oura.
- Strava has been retired. The integration was paused in June while Strava rebuilt its API, and it is now gone from the app entirely: the connection was revoked, the tokens deleted and the activity records that had come from Strava removed, as Strava's own terms require. Activities from your watch are unaffected.
- Data from your watch arrives on a steadier schedule. The hourly sync used to fetch every account at once, which left one slow provider holding up everyone behind it; each account now has its own slot in the hour.
- Fitness is measured by effort instead of time on your feet. The training impulse behind the Performance curve, the load ratio the coach uses and the monotony figure all weighted a session linearly by heart rate, so on one account walking made up 40 percent of the entire 42-day impulse. It is now Banister TRIMP computed from your heart rate reserve, against the resting rate of that same day and a personal maximum, so an hour near threshold counts for several hours of walking. Expect your fitness number to fall: the old one was the flattering one.
- A night broken by a long awakening counts as one night. It used to arrive as two records and only the longer half was kept, so a night measured as 5h53 asleep inside a 9h57 window was published as 4h26. Scores cached from the shorter half have been recomputed.
- A card appears only when it has something of its own to say. Key signals used to keep a block alive on a single input row, so a scale that takes a pulse at every weigh-in produced a Recovery block reporting no data yet, while the page below it already named the device that would supply it.
- The onboarding card no longer promises data in 2 to 5 minutes. The first import usually takes up to 30 minutes, which is what the banner on the same screen always said, and both now quote the same window.
- One coach instead of three: the Overview, the Activities tab and the day's banner used to advise differently on the same day. A single recommendation now reads your training load (recent days against your long-term average, how monotonous the week is, how hard yesterday was, the week against WHO activity guidance) and names a concrete session from your own last 90 days.
- Body load on the Activities tab covers the whole body: every sport now maps to all body areas instead of the prime movers only, the level is a weekly rate over the days you actually trained, and an unnamed workout no longer paints the whole figure amber.
- The Overview opens with a single instrument panel: the state of your body, why it is that way and the coach's one next step in one place. The verdict word settles on a fixed 30-day window, so it no longer changes with the period you happen to have on screen.
- Key Signals put the weakest signal in the lead; the rest wait in a one-line strip and swap into the lead when you click one.
- Oura delivers what it always could: vascular age, VO2max, stress and resilience now really arrive. The connector had been asking for them, but the permission was never granted.
- Numbers say where they came from: each value carries the device or app that wrote it, a weigh-in is filed under the day you lived rather than the day in UTC, and the sleep chart draws the night your device actually measured.
- The Android app scrolls with your finger again: charts no longer take over a vertical swipe, a tap behaves like a tap, and the top bar has a single owner.
- The free trial is one per person rather than one per row in the database, and the app stops offering a subscription to people who already pay.
- Security tightened: the second factor is requested before a password or email change, the administration area requires one too, and pre-deploy database snapshots are encrypted the moment they are made.
- aiclysm.com: the comparison hub has its content back, with 110 devices, a battery-life filter, real prices and named sources; the tools hub and all 13 calculators were audited and corrected; Czech pages read in Czech before any JavaScript runs; and a new article covers what a general chatbot misses when you paste your health data into it.
Fixed
- One hike written by two devices is one workout. A Garmin file stamps the device's own clock while an OAuth provider stamps your profile timezone, and that difference used to hide the duplicate.
- A day that failed to load is no longer drawn as a day without data.
- A single raised number no longer carries a warning on its own: the comparisons behind the body's alert have to come from different signals.
- A night the device did not describe is not drawn as a measured course. The hypnogram needs real phases; without them the card shows honest totals instead.
- Numbers stopped colliding on a 360 px phone, and the labels around the performance curve are back inside the chart.
- A week with nothing in it is not a digest: the weekly email goes out for a week that has something to report.
- A broken reading is refused rather than rounded into a believable one.
- After an update the page reloads itself instead of showing an error card.
- A value belongs to the day it was measured: a reading from last week no longer appears under today's date with a tick beside it.
- The catalog on aiclysm.com stopped crediting ten Withings models with an ECG they do not have.
- The same ride is no longer stored several times. A Garmin file reports the elapsed session time while your phone copy of the same ride reports only the moving time, and the matcher compared those two numbers before it looked at the clock. One ride was stored four times, and 935 of the 1409 cycling minutes a month showed came from that single day.
- Seven days means seven days. The training load window ran over eight days while the chart on the same screen ran over seven, so one tab could show 543 weekly minutes beside a 463 minute chart, and two rest days beside a strip showing three.
- A pulse taken while you stand on a scale is no longer filed as your resting heart rate. Such readings were stored, one of them swinging from 54 to 108 between consecutive weigh-ins.
- A score no longer rests on a single measurement. Cardiovascular fitness could publish a full number from a resting heart rate alone, which had an account with nothing but a scale reading 41 out of 100. It now needs two independent signals before it says anything.
- Intensity zones are counted over the whole period, not over the sessions the page happens to have loaded. An account with a year of training was missing its oldest sessions from a card captioned for the period.
- The error card no longer flashes when you open a page right after an update. A stale bundle drops several files at once, and the recovery reload was being reported as a failure for the few hundred milliseconds before it landed.
- The comparator no longer implies an integration for brands that do not have one. Every comparison page ended on a band offering to turn any of the nine listed brands into daily scores, and four of them have no integration at all.
- Steps counted twice: Health Connect adds up every app, so a phone pedometer plus a mirror of your watch turned one walk into two. The largest single contributor now wins, never the sum.
- Workouts merged into one another: fifteen sessions could end up stored as eight, which also skewed load, overtraining and recovery. Two workouts count as one only when they started at the same time.
- Trends could describe a year from the last 50 workouts, a chart counted one sport twice, sleep averages divided by rows instead of days, and a request that failed looked exactly like having no data.
- The Czech app showed English sport names and bare numbers without units.
- Calculators on the site: body composition fed centimetres into a formula written for inches, VO2max percentiles sat in the wrong columns, resting heart rate showed two verdicts at once, and the risk dials drew a green arc at the worst level.
- Payments: checkout could sell a second subscription alongside the first, and the expiry reminder guessed what was ending and guessed wrong.
- Opening Settings could report an error: the page asked for your profile twice and ran into the request limit.
- Deleting an activity now recalculates the days it touched, not only the last ninety.
v0.997 beta
July 19, 2026
New
- A clinical sleep view: your night broken into light, deep and REM sleep in an animated donut, how long you took to fall asleep, and a multi-night trend so you can watch the shape of your sleep change over time.
- Load and Recovery on the Overview now shows the recovery score your device works out on its own (Polar, Oura, WHOOP, Suunto) right next to MyBodyAI's own reading, so you can compare the two side by side.
- Fitbit Active Zone Minutes now appear on the Activities tab.
- Local weather and air quality: with your location, MyBodyAI now shows the current weather, ozone and UV index where you are, and shifts the suggested outdoor training time away from heat and poor air. Allow your location in one tap on the Overview, or set a city in Settings; your timezone is set from it automatically.
- Two-factor authentication: protect your sign-in with a passkey (your fingerprint or face), an authenticator app, or one-time recovery codes. It is optional but recommended for health data. You also get an alert when a new device signs in, plus trusted-device management.
- Oura Ring support: connect your Oura over secure OAuth for sleep, heart rate and HRV, blood oxygen, breathing rate, skin temperature and daily activity.
- Your recorded movement now appears on the daily energy map: every walk, ride or workout is drawn as its own window over the curve, on today as soon as it syncs and on the day you browse back to, with the times listed under the map.
- An Android app is now in closed testing on Google Play. Ask for access in Settings under Devices and notifications, join the tester group and install it; it runs MyBodyAI as an app and can add the daily numbers your phone already collects in Health Connect, such as steps, distance, active calories, sleep and workouts recorded by other apps.
- A Subscription tab in Settings shows the real state of your plan straight from the payment provider: what you have, when it renews, and how to change or cancel it.
- Weight and body fat now sit on the Overview alongside your other body signals, with their 90-day direction.
- A blood-pressure reading in the highest measured range now raises a plain-language banner on the Overview suggesting you have it checked. It is a heads-up from your own measurement, never a diagnosis.
Improved
- A thorough mobile pass across the whole app: notch and safe-area support, bigger tap targets, an offline banner, add-to-home-screen, smoother loading with content skeletons, and fixes to anything that ran off the edge on narrow phones.
- The energy map opens fullscreen, including landscape on phones, and you can edit your day's windows by dragging them, with 15-minute nudges; your plan saves instantly.
- Weather is easier to set up and more accurate: one-tap GPS with your place name, a manual city option, and the forecast now follows the Yesterday / Today / Tomorrow switch on the Overview.
- Illness Risk is now called Body Alert, without pseudo-probability percentages, to describe what it really is: a heads-up from your own signals, not a medical prediction.
- Withings vascular age and visceral fat are now surfaced across more of the app (Overview, Health, Activities and Progress), with honest measured-versus-estimate labeling and a what-if biological-age simulator.
- aiclysm.com refreshed: a data and security section on the homepage, Oura added to the supported-device lineup, and a new brand-first hub to compare all devices.
- The energy map reads more like a day: sleep, work and training are translucent columns behind the curve instead of a separate strip of brackets below it, and an estimated window is drawn faintly so a guess never looks like a time you set.
- The Overview refreshes itself every half hour while you leave it open, so a tab you came back to is not showing this morning's numbers.
- Key Signals cards are slimmer and now show the exact value on hover or touch; the day picker always stays on screen, and the whole app loads its own fonts, so text no longer flashes in a fallback typeface on the first visit.
- Your body's verdict word holds steady: it no longer flips between states on ordinary day-to-day noise, and the wording explaining it dropped the raw 0-100 numbers for plain language.
- Czech pages on aiclysm.com read in Czech throughout: real Czech comparison pages, a Czech cookie bar, and a working language switch on the terms and privacy pages.
Fixed
- Trends now labels 'lower is better' signals the right way, and cards with no data for the chosen period hide themselves instead of showing blanks.
- Biological-age domains now display and rank correctly as ages, where younger is better.
- A weigh-in that is clearly not yours, from someone else stepping on a shared smart scale, is no longer counted as your weight.
- Changes in Settings and a manual sync that looked like they had done nothing now report what actually happened.
- Editing tomorrow's plan on the energy map now shows the new times straight away instead of redrawing the old ones.
- Clicking quickly through the tabs no longer produces errors, and the connect-a-device screen stopped contradicting itself about what is already linked.
v0.996 beta
June 21, 2026
New
- Polar now delivers full daily activity: steps, calories, active minutes and daily minimum and maximum heart rate join the sleep, heart rate and HRV Polar already provided, so Polar users see the same activity and load picture as Garmin and Fitbit users, and their load and recovery scores use it
Improved
- VO2max from your watch now counts toward Biological Age: the fitness domain (the strongest single longevity signal) reads your Garmin, Fitbit or Polar VO2max instead of only a manually typed value
- Key Signals on the Overview redesigned: a 7 / 14 / 30-day period switch, mini trend lines with today marked, and a clear five-level color verdict for each signal
- A short or sleepless night now steers the day toward rest: readiness is held back and sleep debt is counted instead of being hidden by an older recovery reading, and the day's guidance now reads the same across the banner, the hero and the cards
- Watch comparison pages on aiclysm.com refreshed with an editorial layout and corrected device-capability data
v0.995 beta
June 9, 2026
New
- Redesigned dashboard: seven focused tabs (Overview, Trends, Health, Performance, Activities, Sleep and Progress) with your Body Status figure as the home hero, a sidebar and a calendar on every tab
- Daily coach on the Overview names your body's state in plain words and tells you whether today is for training, adapting or resting
- Energy map: see how your energy rises and falls through the day, find the best window to train or focus, edit your day plan and test a what-if before you pick a bedtime or a workout
- Performance tab: fitness, fatigue and form on one curve built from your training load, an intensity split and a 90-day adaptation view
- Body load map on Activities shows which parts of your body took the most from recent training, with the intensity and the session behind it
- Health tab in depth: a body-system view, biological age with its trend, and now vascular age, visceral fat and blood-pressure ranges from your Withings
- Progress tab: a living avatar, daily rings, simple missions and a long-term journey that rewards consistency
- Day rhythm editor: set your work, training and sleep windows, and the recommended bedtime is learned from your own wake times
- Share your dashboard as an image with one tap, and revisit any past day from the calendar
Improved
- The Overview is now a decision layer, not a copy of the detail tabs: one screen for what is happening today, why, and what to do next
- Honest empty states across the app: when there is not enough data yet, the app says so instead of showing a made-up value
- The legacy Mindset dashboard has been retired; its full set of charts lives on as a dedicated All graphs page
v0.991 beta
May 16, 2026
New
- AI Hub: the AI tab is renamed and restructured into three layers (Today / What is happening / Bigger picture) with a Next-days Outlook section and an Open Insight CTA
- 10-band decile metric system: all 13 health metrics now use a single 10-band copy table (severity + insight + AI tip in EN and CS) instead of the old 3–5 tier ladder, so every score position has a tailored interpretation
- Body Status hero rework on the dashboard: gauge size roughly doubled and the competing person silhouette removed, so the headline number reads as the visual anchor
- Weekly digest redesigned: week-over-week comparison hero with gauge bar, four delta tiles, 7-day bar chart, top three highlights and a recommendation. Delivered Monday 10:00 Europe/Prague (was Sunday 8 UTC)
- Confidence chip on dashboard tiles: when the underlying confidence drops below 0.8 the chip appears (yellow under 0.8, red under 0.5), so a glance at a tile reads as value, trend, confidence
- Provider tier badge per signal on /connect: a gold / silver / bronze dot next to each signal shows which provider is the trusted source (Fitbit VO2max gold vs Fitbit steps bronze, etc.), no more uniform color per provider
- Five topic-cluster hub pages on aiclysm.com (HRV, Sleep, Recovery, Longevity and Stress) each cross-linking around ten articles, glossary entries, tools and device comparisons
- New blog post: HRV accuracy compared across Garmin, Polar, Fitbit and Withings, bilingual, with eight peer-reviewed citations
- /.well-known/security.txt, coordinated disclosure contact per RFC 9116 for security researchers
- Activities now show additional details (speed, power, elevation gain, moving time, minimum heart rate and step count alongside duration, distance and load) pulled from Garmin or Strava and merged on a per-field basis
- Bilingual confirmation email after a successful Garmin GDPR import: summarizes what landed (HRV, SpO2, VO2max, activities) and suggests a complementary provider when something is missing
Improved
- Morning Energy recalibrated: HRV switched to an absolute mapping (was personal percentile), weights tuned to 0.2 HRV / 0.5 sleep / 0.3 RHR after grid search, plus 10-band insight copy and driver chips (Sleep Quality / ANS Balance / Sleep Debt)
- Sleep debt is now shown with sign in hours across all UI: −X.Xh debt / +X.Xh reserve, instead of a 0–100 score that hid the direction
- AI tips audit: seven logic and copy bugs fixed across micro-tips, training tips, AI insights, alerts, daily narrative, weekly digest and the adaptive engine
- Flagship cards rewritten in semi-lay tonality: drops ‘sympathetic’ / ‘vagal’ / ‘autonomic’ / ‘baseline’ jargon in favor of stress response, balance, recovery system
- Transactional emails visually overhauled (all 11 templates) plus a dark-mode override for new Outlook for Windows / Outlook.com / Gmail / Apple Mail, the deep-navy palette is no longer repainted to mid-gray
- Light mode redesigned: warm cream-sand palette unified across marketing and dashboard, plus a hairline outline on the Body Status hero so colors stay legible on the lighter background
- Typography refresh: manrope across body and display headings (JetBrains Mono kept for code), marketing homepage emoji icons replaced with Lucide SVG (seven stroke icons matching the brand line)
- Dashboard typography pass: hero gauge resized, signature ring slimmed and the Bio Age font capped at one consistent size across all tabs so the headline numbers stay the visual anchor on phone screens
- Glossary entries, blog posts and topic hubs now cross-link automatically: about 190 inline references added in EN and CS so reading an HRV article surfaces the matching glossary entries and related posts in one click
Fixed
- Morning Energy proxy never reached non-Garmin users in the live pipeline: an old guard counted Garmin-specific history days and dropped the proxy context for everyone else. The affected history was re-filled
- Bio Age card now stays interactive when birth date is missing: clicking the empty-delta state routes you straight to Settings → Profile → date of birth
- Garmin GDPR import auto-fills bio-age inputs (gender, birth date, height, weight, VO2max) from user_profile.json and BioMetricProfileData inside the export ZIP
- Garmin GDPR activities are now imported and merged with existing Strava records: Garmin contributes training load, training effect and VO2max to the same activity row, the richer source wins per field
- Profile save now invalidates AI and scoring caches: previously the dashboard returned 6h stale data right after you filled in birth date and gender
- Tools pages (biological-age, hrv-decoder, sleep-calculator) no longer hit an infinite reload loop when localStorage.lang differs from the URL language
- Mobile Chrome auto-translate no longer crashes the app: a notranslate meta hint prevents the browser from wrapping text nodes, which used to desync React on the Settings page
- Czech URL prefix /cs/ now wins over the localStorage language setting: sharing a CS link with someone whose browser is set to English no longer flips the page to English
- Strava and Garmin webhooks now reach the wearables backend correctly
Security & Infra
- Mobile auth token sliding expiry: every successful X-Mobile-Token auth refreshes the token timestamp (throttled to once per 24h), so a daily-worn paired Garmin watch keeps a live token indefinitely while a 90-day idle device still expires
- Timestamps are stored in a native date type, which removes a conversion on every indexed read
- Backend and frontend dependencies updated
v0.99 beta
May 4, 2026
New
- Backdate self-report up to 7 days: day picker chips (Today / Yesterday / weekday) so you can fill in a missed check-in for any of the last week
- Garmin Connect IQ watch app (Pre Release): on-watch health dashboard for 67 supported devices (Fenix, Forerunner, Venu, Epix, Vivoactive, Enduro, Instinct), pair via 6-digit code in Settings
- Garmin GDPR import now extracts HRV, SpO2, VO2max and AFib events from FIT files inside the export ZIP: massive jump in Garmin data coverage
- Garmin Index Smart Scale support: weight, body fat %, muscle mass, bone mass, body water % imported from your GDPR ZIP and shown on the Body card
- Both signature slots (left + right) are now user-configurable: pick from 14 metrics for each side, persisted across tabs and devices
- One-click Disconnect button on /connect page for any OAuth provider (Fitbit, Polar, Withings, Strava): revokes tokens server-side, stops dormant alerts
- FAQ Connection issues category: 10 bilingual entries covering re-OAuth, dormant providers, missing data and pairing problems
- Illness Risk model adds breath-rise trend (Mason 2022): rising overnight respiration is a documented early-warning signal for infection
Improved
- Bio Age card always renders, even when chronological-age delta is missing: you still see the radar with all 8 domains and contributing top three
- Insight detail popover is now inline: opens above the metric instead of a full-screen modal, with proper scroll and responsive grid
- Dormant provider banner now distinguishes ‘no device paired’ from ‘scope upgrade needed’ from ‘sync stalled’: targeted action for each
- Apple Health removed from the UI everywhere: the provider was retired upstream and listing it caused user confusion
- Settings page exposes a Watch Pairing card: generate a 6-digit code with a 5-minute countdown, copy button, and clear instructions for Garmin Connect Mobile
Fixed
- Health tab Training Load chart now populates: the score was being computed but never plumbed into the history payload, leaving the sparkline empty
- Re-connecting an expired or revoked provider actually reactivates it: previously the new tokens were saved but the status stayed ‘expired’, leaving the device invisible
- Watch pairing endpoint no longer rejects every request as forbidden: CSRF guard correctly skipped on the pre-session pair exchange
- Backdating an existing self-report no longer leaves an orphan illness signature when you un-check ‘currently sick’: routes through the proper edit pipeline
- Lockout ‘try again in N seconds’ banner now uses the actual cooldown window from the database, not a hard-coded value
- Bio Age calibration label dropped a spurious ×100 multiplier that made small adjustments look like 1500 % drift
- Polar 404 noise silenced for users without a Polar device: previously every sync logged 2,400+ false errors per day
- Self-report alcohol values 2 (moderate) and 3 (heavy) are persisted: previously the POST endpoint capped at 0/1 and silently dropped higher values
Security & Infra
- Admin panel hardening sweep: role protections, a persistent audit log with a viewer, and asynchronous transactional email
- OAuth tokens encrypted at rest: provider access & refresh tokens are encrypted in the database
- P0 audit sweep: request-forgery protection across state-changing endpoints, log sanitisation, contract drift guards and webhook signature hardening
v0.98 beta
April 20, 2026
New
- Daily Narrative: your day told as a coach's story with today's slogan, yesterday's recap, 7-day trend, and tomorrow's outlook
- 10-tier color scale across week trend bars: instantly see critical, steady, strong, or peak days
- Training Load metric + Strain context: tracks your weekly training stress with 7-day strain history
- Unlock panel: shows exactly which metrics become available when you connect another device
- Garmin data import via official GDPR export (ZIP upload): while we wait for Garmin Connect API access
- Signal status on every metric: active, limited, stale, or unavailable, always clear why
- Community card in Settings: join our growing user community
- Illness Risk: redesigned as an AI 'defense shield' tile with an animated ring, breathing halo, live monitoring pulse, contributing biomarker chips (Immune, Respiratory, Recovery) and an adaptive insight that speaks to your current state.
- Biological Age: a paired 'youth gauge' visual next to Illness Risk with its own ring, breathing halo, top three contributing domains (e.g. cardiovascular, sleep, recovery) and age delta front and center.
- AI Discoveries redesigned: correlation and seasonal patterns now render as premium cards with strength bands, metric-pair icons, and a four-season best-vs-worst strip.
- Tap any metric to see a detailed explanation: what it means, how we compute it, what influences it, and how to read the score. Fully translated to Czech and English.
Improved
- Plain-language score labels and mobile-friendly collapsible panels throughout the dashboard
- Natural, native Czech translations across all AI-generated daily insights
- Body Status now requires at least 5 core metrics before reporting 'Steady': no more false 'all good' when data is missing
- Sleep efficiency now follows the AASM clinical standard (Total Sleep Time / Time In Bed): consistent with sleep medicine research
- Self-reported symptoms now provide informational insight alongside biometrics instead of overriding scores: more transparent
- Faster login: last activity update moved off the critical path
- Better experience for Fitbit-only and scale-only users: sparse data handled gracefully
- Weekly Summary card now compares scores week-over-week with trend labels
- Dashboard layout reworked: your flagship metrics surface at the top, weekly trends moved below so the most actionable insight stays on screen first
- Hero consolidated: one unified Body Status gauge with a compact Training Readiness chip, replacing two competing indicators
- Changelog page redesigned: each version is now a one-click accordion so it's easy to scan the full release history
- Risk-type metrics (Illness Risk, Stress Load, Overtraining) now show raw values: a low number means a good state, with a short matching bar. No more mental math of 'is 94 good or bad?'.
Fixed
- VO2max badge restored on metric card
- Strain Chip labels now properly translated to Czech
- Mind / Body / Sleep panels no longer disappear after being opened
- Training Readiness card restored to hero section
- Garmin morning Body Battery now correctly uses peak 24h value
- Quick Tips icons (wind, check) display correctly
- Dark mode: below-threshold bars are now visible
- Background scoring retries on transient database locks: no more silently missing updates
- Dashboard refresh no longer redirects you to the landing page: the URL now stays on your dashboard as expected.
- Withings workouts sync: fixed a date-parsing error that prevented workouts from syncing for every Withings user.
v0.97 beta
April 10, 2026
Improved
- Biological Age calculation now uses smooth transitions across all health domains: more accurate and stable results
- Peak Day detection requires stronger HRV signal: fewer false positives on noisy measurement days
- Circadian rhythm scoring now handles shift workers and irregular wake times correctly
- Touch targets enlarged across the dashboard for better mobile experience
- Performance optimizations: faster scoring, reduced server resource usage
Fixed
- Data sync no longer discards valid sleep records in rare edge cases
- Health data distribution models now correctly include all valid measurements
- Dashboard sync indicator no longer blocks header controls
- Security hardening and infrastructure improvements
v0.96 beta
April 7, 2026
Improved
- Sleep Quality score now reflects individual nights: a bad night drops your score immediately instead of being hidden by weekly averaging
- Sleep Quality now uses 6 signals (provider score, sleep phases, duration, efficiency, overnight recharge, trend) instead of a single average
- Circadian rhythm scoring recalibrated: deep sleep consistency no longer penalizes normal night-to-night variation
- Training recommendations now precisely match your readiness zone: no more intense workout suggestions on moderate-readiness days
- Trend explanations now correctly identify the driving signal for each health index change
Fixed
- Deep sleep values under 5 minutes are now filtered out (sensor misclassification)
- Illness risk adjustments from morning energy patterns are now visible in score diagnostics
- Historical scores recalculated to match updated algorithms: no artificial jumps in trend charts
v0.95 beta
April 5, 2026
New
- Extended signal coverage to 19 signals across 5 providers (was 14)
- Polar: SpO2, skin temperature, VO2max, weight, and ANS Charge (recovery score) now synced
- Fitbit: daily activity stats (steps, calories, floors) and VO2max (Cardio Fitness Score) now synced
- Withings: skin temperature and respiratory rate from sleep data now synced
- Signal Matrix: new categorized comparison table on the Devices page (5 categories, 27 signals)
- Sleep efficiency, floors climbed, and distance now tracked in daily summaries
Improved
- Sleep summaries now include HRV, respiratory rate, and SpO2 from all providers
- Resting HR and HRV now applied across all historical days (not just today)
- Provider comparison table in the app now shows 5 categorized groups
- Complete device lists for all providers (specific models instead of generic descriptions)
Fixed
- Website content audit: removed references to unsupported providers, corrected all signal and metric counts
- Czech language improvements: formal address (vykání), diacritics, and typo corrections across 20+ files
v0.94 beta
April 4, 2026
New
- Feature pages: dedicated pages for Health Pattern Detection, Biological Age, and Body Status
- Database migration system: automatic schema upgrades without data loss
- Admin panel redesign: improved UX, SMTP testing, email management
Improved
- Weekly health digest: skips users without data, fixed bio age template rendering
- Login flow: deduplicated sign-in code and hardened one-time-code verification
v0.93 beta
March 29, 2026
New
- CI/CD pipeline: automated testing on every commit via GitHub Actions
- Disaster recovery plan and Data Protection Impact Assessment documentation
Improved
- Test coverage expanded across the entire codebase
- Exhaustive code review: 35+ fixes with zero regressions
Fixed
- Rate limiter now uses real client IP (was using proxy IP)
- Admin panel: split into sub-modules for better maintainability
v0.92 beta
March 22, 2026
New
- Accessibility (WCAG 2.1 AA), keyboard navigation, focus traps, ARIA labels across the app
- Progressive Web App (PWA): installable on mobile with offline support
- FAQ page: 26 questions across 5 categories with search
- Body Status gauge: continuous 5-state visualization (Alert → Recovery → Steady → Strong → Peak)
Improved
- Security hardening: scrypt-hashed OTP, TLS 1.3, non-root containers, 100% admin audit logging
- SEO audit: structured data, canonical URLs, hreflang tags on all pages
Fixed
- Professional quality audit: 14 backend + 9 frontend fixes, dependency pinning
- Czech text standardization: formal address (vykání) across all components
v0.91 beta
March 18, 2026
New
- Scoring engine v2: complete overhaul of all 12 health indices with evidence-based formulas
- MyBodyAI+ subscription: full access for one coffee a month, with a 7-day trial
- Legal compliance: privacy policy, terms of service, GDPR data export and deletion
- Rate limiting and monitoring: request throttling and error alerting
Improved
- Authentication rewrite: password-first flow with 6-step state machine, anti-enumeration
- Codebase restructuring: health_scores, database, ai_engine, routes as packages
- Gzip/zstd compression, code splitting, lazy-loaded routes
v0.90 beta
March 12, 2026
New
- MyBodyAI platform launch: 12 health indices, biological age, body status, training readiness
- Dashboard with 3 view modes: Command Center, Focus, and Zen
- 4 provider integrations: Polar, Fitbit, Withings, and Strava via Open Wearables API
- Gamification: 26 achievements, 10 ranks, BioClass evolution system
- AI-powered insights: pattern detection, trend analysis, micro-tips, and daily targets
- Bilingual interface: full English and Czech support with formal Czech address