Changelog
1.52.2 Readable buttons on hover
On a computer, pointing at a button no longer turns its text blue on a blue background.
Fixes
- “Start the session”, at the top of a program: when you pointed at it, the text turned blue on the blue-violet button and became unreadable. It now stays white.
- The same fix for the other buttons built the same way: “Work on …”, “Assess now”, “Assess myself”, the active filter in Targets and “All templates” in light mode.
- Targets, dark mode: the filters that are not selected no longer turn dark blue on dark grey when you point at them.
1.52.1 Agenda: Month and Day
Switching between Month and Day in the Agenda works properly again.
Fixes
- Agenda, Day view: the bar with Month / Day, the arrows and the date scrolled out of sight as soon as the day opened on the current hour. It stays pinned at the top again (a regression from 1.51.2).
- Agenda, back to Month: on a phone, the first weeks of the month were hidden under that bar. The month now starts from its first week.
1.52.0 Knowing what helps
Notifications are suggested at the moment they make sense, leaving now comes with one optional question, and the app counts — anonymously — which screens are used.
What's new
- Notifications, suggested at the right moment: right after you send a message, log a session, add a task with a date or invite an athlete, the app offers to notify you — in its own window, saying why, before your browser asks. Three times at most, a week apart, and never if you have already answered your browser.
- Leaving: when you delete your account, and after cancelling a subscription, one optional question — what made you leave? The answer given when deleting an account is anonymous: nothing links it to you.
- Anonymous usage statistics: the app counts, per day, which screens are opened and which screen leads to which. No identifier, no IP address, no cookie — nothing that can be traced back to you. The privacy policy explains it.
Privacy
- The privacy policy (effective September 19, 2026) now also lists the anti-abuse counters added in 1.51.0 (kept 2 days), the reason for leaving and the anonymous usage counters.
1.51.2 Desktop fixes
Three things that did not work, or looked off, on a computer.
Fixes
- Programs (list view): the “Filter by” menu did not open on a computer. It opened upwards, squeezed under the header — the app mistook the side bar for a bottom bar. The same fix applies to every drop-down menu of the app on a computer.
- Tasks, Agenda view: tapping the month (or the day, in Day view) now opens a calendar to jump straight to any date, like the Timeline already did. The arrows are still there.
- Tasks: the Agenda and the Timeline now fit the same column as the rest of the screen, on a computer and on a phone.
1.51.1 Tasks on a computer
On a computer, the Tasks screen lines up again.
Fixes
- On a wide screen, the “Upcoming” and “Completed” tabs stretched across the whole window, and the task cards shrank to a narrow column. Tabs, cards and headings now share the same column as the rest of the app — for athletes and in a coach’s view of an athlete.
1.51.0 Programs within reach
For coaches, Programs get their own tab in the bottom bar. Settings and Analysis move to the gear menu. And the app gets harder to misuse.
What's new
- Coach: “Programs” takes the place of “More” in the bottom bar — Home · Athletes · Skills · Programs · Messages. Your templates and exercise library are one tap away from every screen.
- Settings and Analysis are in the gear menu at the top of every coach screen. Analysis is also still one tap away from the “Last 30 days” block on Home.
- Bottom bar labels are no longer cut short on narrow phones: each tab is at least as wide as its name.
Fixes and security
- On a computer, the current tab in the side bar has its violet icon again, as on mobile — it looked blank.
- Sign-up: error messages were always shown in English. They now follow your language.
- Sign-up and invitations are limited when repeated many times in a row (for invitations: 30 an hour, 100 a day per coach). Nobody can use them to find out which email addresses have an account, or to send invitations in bulk. A normal day of inviting a whole team is not affected.
- Messages: a conversation is only marked as read when you actually have it open in the app, never by a link opened from elsewhere.
1.50.0 Stats, tighter
The Stats page opens on one sentence about your period, keeps three families open and folds the rest. And drag and drop is steadier everywhere in Progression. A full review of the app, screen by screen, also fixed some thirty small faults.
What's new
- One sentence first, just under the period selector: "3 sessions · 5 exercises validated · +1 skill acquired · average effort 7.1 / 10". It follows the selector.
- Three families stay open: Progression, Performance and Consistency (momentum, streaks, activity calendar). The rest — at a glance, validation rhythm, the detail of your sessions, categories, 12-week workload — is in "More details". Nothing was removed.
- The same on an athlete's stats, for the coach.
Fixes
- Reordering trees, families and exercises: a card only takes its neighbour's place once your finger passes the middle of that neighbour. With cards of different heights, the future place used to flip back and forth, and the drop could land one place off.
- Families fold down to their headings while you drag one: the whole list fits on the screen, and the card you move no longer hides the place where you want to drop it.
- A tap on a handle without moving sends nothing. If an order cannot be saved, the list goes back to the previous order and says so, instead of reloading the page. No more text selection while dragging.
- Stats: every block counts the same "last 7 days" (today and the six days before). The period sentence, the Progression block and the momentum score could disagree by one day.
- Stats: the momentum comparison with the previous period is the same on the athlete's screen and on the coach's (it showed −100 on one and +0 on the other).
- Stats: the names of logged exercises were cut short by a style meant for another screen; they now wrap onto two lines. Decimals and units follow your language.
Found in a full review of the app
- Athlete: “Restore” on an archived task and “Unarchive” on an archived exercise did nothing. They work again.
- Coach: changing a task’s status right after switching athlete no longer fails.
- Clearing a session note and the email preference switch in Settings no longer reload the whole page.
- Evaluate: after saving, the “towards x %” preview and tap-again-to-unselect work on the next rating too.
- Back button: after opening a program from the list, Back closes it without reloading the page.
- Skill tree windows no longer open the phone keyboard on their own.
- An athlete who only follows repeated programs is flagged again when they stop training. “Never started” no longer shows for someone who trains every day without validating yet.
- “Ready to assess” disappears once you have rated the skill.
- The mastery ring of an athlete’s sheet shows the average of the assessed skills, as its label says. Training days since the last assessment are no longer counted twice.
- “Blocked on” no longer quotes a rating you corrected the same day.
- Analyse: “active” now counts validated exercises and completed tasks, like the dashboard, over exactly 30 days. The weekly acquisition bars match the total above them.
- Dashboard: the number of tasks today is the real one (the list shows six). Message times are in your time zone. “Today”, “yesterday” and “3 d ago” follow calendar days. The session count per athlete says “over 7 days”, which is what it measures.
- Stats: without any task over the period, completion shows “—” and no longer halves the momentum score. “All” no longer shows a comparison with a period that doesn’t exist. The page refreshes right after a session is logged. Classic programs: active weeks and the longest break are read over the 12 weeks announced.
- Guided session: a record beaten in one unit (kg, seconds…) is recognised even when the exercise also has records in another unit.
- Support access banner: the end time is translated and in your time zone. Plural forms fixed in several places. A few words left in English are translated.
- Behind the scenes: timers and listeners that kept running after leaving a screen now stop; tighter checks on who may change an exercise, a program or a template.
1.49.0 Progression, lighter
Your skills come first: the display settings move into a single "Display" button, and the name of the tree now switches trees.
What's new
- One line above your skills: the name of the tree (tap it to switch trees when you have several), its pencil to rename it, and "Display" on the right. The first skill starts about a hundred pixels higher.
- "Display" holds List / Tree, Families / Levels and, in your own trees, "Sort by level". The button always says what you are looking at ("List · Families").
- A pencil next to each family replaces the word "Rename" repeated on every heading.
- The tip "Drag the handle to reorder the families" shows until you have done it once, then gets out of the way. The handles stay.
- On the coach's Skills page, the definition of a skill tree only shows on the list of trees.
Fixes
- In French, a few sentences used the informal "tu" (session mode, team assessment, reordering tip): the app is formal everywhere again.
1.48.0 Why, not just who
Your coach screens now say why an athlete needs you, and let you act on it: a nudge from Home in two taps, the reasons on every card, and figures in Analysis that open on the athletes behind them.
What's new
- Home, "needs close attention": one line per athlete with the reasons (21 d without activity, 2 tasks overdue…), your last message to them, and "Nudge".
- "Nudge" opens a message written for the reason: a long break, overdue tasks, a program never started, skills that no longer move. Read it, change it if you like, send it: it goes into your conversation, with a notification, and you stay on Home.
- Roster cards: the reasons are written on the card. They were only in a tooltip, which nobody sees on a phone.
- The indicators on a card say what they count ("2 exercises", "1 task", "3 messages"), and the days badge says what it measures: the last activity, in words, as in the list view. The date of the last rating moves into the skill line.
- Analysis: every figure opens on the athletes behind it. Who acquired what and when, who has not been assessed (with "Assess →"), sessions and average effort per athlete, who has not trained. "Where progress has stalled" opens on the athletes at a standstill.
Fixes
- The last activity of an athlete who trains in program mode (sessions, "Start the session", logged performances) was ignored: they could show "21 d without activity" while training every day, and Analysis counted them as active. Both screens now use the same definition.
1.47.0 Assess a team
Rate a whole team on a skill in a single screen, criterion by criterion, and save it all at once. Plus: drag and drop works again in long lists, for families and for exercises.
What's new
- "Assess the whole team" on every skill that has criteria. One criterion at a time, one row per athlete, one tap on the level. The previous rating shows as a dotted mark, with its date.
- Filter by team without losing the ratings already given. Each criterion tab counts the ratings waiting to be saved.
- Today, yesterday or two days ago: the date of the session is chosen once for all the ratings.
- A word for an athlete, written once, goes with all their ratings.
- One save for everything, and you stay on the screen: what you just rated becomes the previous rating, ready for the next criterion.
- A mistaken back or a closed tab: the ratings not yet saved come back, for 24 hours.
- Also from Home, under "Assess now": "Or assess a whole team on one skill".
Fixes
- Progression: dragging a family in a long list stalled under the top bar or the bottom bar and could not reach the first or the last place. The list now scrolls by itself, at a steady speed, as soon as your finger nears the visible edges, and the family lands where your finger is.
- Programs: the same problem when dragging an exercise to the top or the bottom of a long program — the counters band at the top of the program hid the edge. The list now scrolls from the edge you can see, in both directions.
- Grabbing a card right next to an edge no longer sends the list running before you have even moved.
1.46.0 Start the session
A guided mode to train a program: one exercise at a time, a timer, the sets you tick, what you really did, how hard it was, and one save at the end.
New
- "Start the session" at the top of every program. One exercise at a time: what to do, the goal, the video, what you did last time and your record.
- A timer for durations to hold (plank, run): it counts down on the clock, ticks the set by itself at the end, beeps and vibrates, and keeps the screen awake. Sprint times ("lower is better") have no countdown: you run, then note your time.
- Sets you tick as you go. What you really did is pre-filled with what was asked; "Adjust" changes it. A skipped exercise records nothing.
- At the end: a summary, how hard it was (1 to 10) and a note. If you beat a record, you are told right away.
- In a progress program, doing an exercise moves it from "to do" to "in progress"; it is validated only if you say you have mastered it.
- A phone call, a locked screen, a closed tab: the session waits for you and offers to resume where you left off.
- Your coach is told the session is done, with how hard it was. A coach can also run the session with you, from your file.
- From Home, a repeat program under "Today" starts the session directly.
1.45.0 The app stops contradicting you
One tap validates, a second one takes it back, and every change can be undone. Home no longer says "nothing planned" when tasks are overdue, and the numbers on a screen now agree with each other.
Changed
- An exercise's status button now has two states. One tap validates it; a tap on a validated exercise puts it back the way it was. It used to cycle through three states, and one tap too many sent a validated exercise straight to "pending". Our figures showed more than half of validations being undone that way. All three states are still available in the exercise's sheet.
- Every status change offers "Undo" for a few seconds. An undone validation is erased, not added on top: your coach no longer sees validations that never happened.
- "Pending" becomes "To do": an empty grey circle. The red cross read as "failed".
- Home: "Today" now shows overdue tasks first, then today's, then your repeat programs with the date of your last session.
- Stats: the "What moved" and "Performance" blocks follow the period you pick. They used to stay on 30 days under a selector set to 7.
- A skill's sheet says what its number counts: "0 criteria out of 2 at the top level", and "Acquired. To reach the top: …", instead of "Level 0 / 2" next to "Acquired".
- Renaming a skill tree is a quiet pencil next to its name, and it now happens without reloading the page. It used to be a white pill, the most visible thing on the screen.
Fixed
- If a status change fails to save, the screen goes back to what was really saved and says so, instead of reloading the whole page.
1.44.0 Rename on the spot, and a handle you can see
Fixing a name no longer means a detour through another screen, the drag handle is where the eye looks, and a pinned path stays pinned while you scroll.
Changed
- Rename a tree or a family straight from Progression, where you read the names. It is still in “Manage my skills” too — nothing moved, a second door was opened.
- The drag handle now sits in front of the family name, with the same six-dot shape as the one used to reorder programs, and a line that says the gesture. It was at the far right of a small heading: visible on a ruler, invisible in practice.
- Families can be reordered from Progression as well, not only from “Manage my skills”.
Fixed
- Hold a card to pin its path, and the path now survives scrolling: it is cleared by a tap on empty space, as announced. A scroll starts with a finger press, which used to be read as “tap elsewhere” — and on a phone, scrolling alone redrew the tree and wiped the highlighted arrows.
- Secondary commands such as “Sort by level” were drawn in the grey of their container instead of the accent colour, barely legible on a dark background.
1.43.0 A tree you can actually read
The tree is laid out branch by branch, with arrows that fan out from each card — and no more tangle.
Changed
- New layout: one block per branch, stacked, and the arrows of a card leave from a single point and fan out to what it unlocks. Measured on a 50-skill tree: no crossing left.
- By default the tree draws the backbone — each skill's main prerequisite. The extra prerequisites are still there: hold a card and they appear with its path, then disappear when you let go. That is where you look for them anyway, one skill at a time.
1.42.0 A program knows what it trains
Point a program at a skill or a criterion, and the app offers the assessment once every exercise is done.
Added
- A program can now say what it trains: a skill, or one of its criteria. The field sits in the program's settings, next to its name and mode.
- When every exercise of that program is done, « Ready to assess » appears — on the athlete's progression, and on the coach's view of that athlete, with a button that opens the assessment on the right skill.
- It offers, it never scores. Finishing a program is not the same as mastering a skill: exercises are ticked by the athlete, criteria are scored by the coach. The app says the work is done and lets the person who judges, judge.
Fixed
- Templates lost the link to the criterion. Saving a program as a template, then applying it, produced exercises attached to nothing — silently. Templates now carry it both ways.
1.41.0 Families, levels, your order
The list can group by level as well as by family, and families can be put in the order you want.
Added
- In the list, a Families / Levels switch. « Levels » uses exactly the same reading as the tree: level 1 is what needs nothing before it.
- Drag your families into the order you want, with the same handle as everywhere else.
- « Sort by level » puts the families in learning order in one click: a family sits where its earliest skill sits. It is an action, not a mode — you can still adjust by hand afterwards.
- Athletes read that order; the person who owns the tree is the one who sets it.
1.40.0 Renaming, at last
Rename a whole skill tree or one of its families in one go.
Added
- Rename a skill tree: every skill in it takes the new name. Until now the name was copied onto each skill, so you had to reopen them one by one — and forgetting one left you with two trees that looked almost alike.
- Rename a family, from its heading in the list. Only that tree is affected: a family with the same name in another tree is left alone.
- Giving a tree the name of another one merges them. It is the only way to clean up two trees created by mistake, and the message tells you how many skills moved.
Changed
- Dragging a skill tree now looks exactly like dragging an exercise card: the card follows your finger and the space it will drop into is outlined in the list.
1.39.0 Your order, and several at once
Drag your skill trees into the order you want, and add several skills in one go.
Added
- Drag your skill trees into your own order, with the handle on each card. The arrow keys do the same thing. Until now they were listed alphabetically, which is rarely the order you learn in.
- Targets: tick several skills in the list, then press Add once. It used to take one round trip per skill.
- Prerequisites: same thing — tick several, add them in one go. A prerequisite that would create a loop is still refused, and says so, without cancelling the others.
1.38.0 Finding your way in the skills
Skills now open on the list of your trees, and every step of the path takes you back.
Changed
- With several skill trees, the Skills screen opens on the list of trees, with what each contains and where you stand. It used to drop you into the first tree in alphabetical order, and nothing said the others existed. With a single tree you still go straight in.
- Every step of the path above a skill is now clickable, the family included: it takes you to that family's skills.
- A back button on each skill goes up exactly one step: the parent skill for a variant, otherwise its family, otherwise the tree.
- When you open a family, the list shows that family alone, with a way back to the whole tree.
1.37.0 The skill tree, easier to handle
Hold a card to keep its path on screen, and the green banners stop covering the controls.
Changed
- Hold a card in the tree: its path stays highlighted, even while you scroll. Your phone no longer opens its own menu over it. Tap the card again to open it, tap anywhere else to clear the path.
- Green confirmation banners now appear at the bottom, above the navigation bar. They used to sit on top of the screen's controls and block them for seven seconds.
- One row of controls under the title, always in the same place: the tree/list switch on the left, the discipline selector on the right. Coaches now have that selector too, instead of going back to the list of trees.
- « Change » is now « Change discipline »: next to the tree/list switch, it read like a change of view.
- On a skill, the action buttons come before « What it unlocks ». On a skill that unlocks eight others, they were at the very bottom.
Fixed
- An athlete without a coach could not attach an exercise to a criterion of their own skill tree: the field never appeared. It does now.
Two programs that share exercises now each keep their own progress.
Fixed
- Validating an exercise in one program no longer validates it in another program that uses the same exercise. Each program keeps its own status, so you can finish one program without the other one being ticked.
- An exercise added from the library to another program starts « In progress » there, even if you already validated it elsewhere.
- Your statistics still count an exercise once, as soon as it is validated in at least one program.
- If a program still shows exercises as validated that you never achieved there, set them back to « In progress »: the other program keeps its validation.
- On the Home screen, « My goal » now opens every time. When the app was opened straight onto Home, the button did nothing until you had visited another screen. The « New target » and « Edit » buttons of the Targets screen had the same problem, for athletes and coaches.
1.36.1 Privacy policy kept in step
Three details the privacy policy did not cover yet, now written down and made true.
Changed
- The privacy policy now describes the demo: fictional accounts deleted after one hour, and the visitor's IP address kept 24 hours to limit abuse, then erased.
- It lists the three preference cookies the app sets (how you sort your programs, how a coach sorts and filters the roster), and says which display settings stay in your browser's local storage.
- Technical logs are now trimmed to 30 days every day, as the policy states. They used to rotate by size only.
1.36.0 Pick your sport, and the words that were off
The demo now offers a list of sports, each with a skill tree that actually fits it. And a round of small fixes found by looking at the app the way an investor would.
What's new
- A list of sports in the demo, instead of a free field. Thirty-three sports in seven groups, and a new racket-sports tree for tennis, padel, badminton and squash. Swimming, cycling and triathlon get their own wording. A sport with no fitting tree is simply not listed.
- The roster badge now separates athletes from pending invitations: "3 +1 / 25" instead of a bare "4".
- On an athlete's file, the mastery ring is labelled: it is the average mastery of the assessed skills, not the program progress nor the target.
- In the list view, the percentage column is called "Programs", which is what it measures.
Fixes
- In the athlete demo, the top bar slid under the demo banner and cut the avatar.
- "Stuck" meant two things: a card says which criterion an athlete is stuck on, the Analysis screen now says "at a standstill" for skills worked on without progress. Its "not assessed" tile now says "in 30 days".
- The assessment screen says "A word for Inès" rather than "for them".
- In French, the athlete's space now uses "vous" everywhere; it mixed "tu" and "vous" from one screen to the next.
- The username field on the sign-in screen no longer shows an English hint in French and Spanish.
- In the exercise library, long names wrap on two lines instead of being cut.
1.35.1 One table per team
In the roster's list view, each team now has its own table, so you always know which team you are reading.
Changed
- A table per team. Each team gets its name, its athlete count and its own column headers. Athletes in no team come last, under "Not in a team".
- A team with no athlete yet says so, instead of an empty table. While you search or filter by status, teams with nobody matching are hidden.
- An athlete in two teams appears in both tables, and their notification badges now update in both.
- The "Last activity" column is wider, so its header fits on one line.
1.35.0 New
Skills can now be seen as a real tree: each skill is a node, each prerequisite an arrow from what you need to what it unlocks. What used to be called a "skill reference" is now simply your skill tree, and the examples throughout the app speak football rather than kitesurf.
What's new
- A tree view, on every skills screen. Switch between List and Tree: skills are laid out by level — first what needs nothing, then what each one unlocks — with arrows between them. Remembered per screen.
- As an athlete: each node shows your mastery. Acquired skills are green, locked ones carry a padlock, the bottleneck of your target is highlighted, and an arrow is solid once its prerequisite is acquired.
- As a coach: your skill tree shows its structure (criteria count, variants), and an athlete's Progression tab can switch from Families to their tree, where each node opens the assessment of that skill.
- Hover or focus a skill to light up what it needs and what it unlocks. On a phone, the next levels are one swipe away.
Changed
- "Skill reference" is now "skill tree" everywhere, in English, French and Spanish.
- Placeholders and examples use football, tennis and running instead of kitesurf tricks — easier to picture for everyone.
- Placeholders that were only in English are now translated.
1.34.0 New
The free demo now shows what the app is really about: a skill tree for your sport, assessments, targets and their bottleneck. The app also gets a proper layout on a computer, and new accounts are shown where to start.
What's new
- The demo is built around skills. Type your sport and you get a full skill tree — three families, thirteen skills with their criteria, what unlocks what — plus sixty days of assessments with the coach's words, a target in progress with its bottleneck and one already reached, personal records, sessions with perceived effort, tasks and messages tied to skills. Three athletes, three different stories: one progressing, one waiting for an assessment, one drifting away. As an athlete on your own, the same engine with your own skill tree and self-assessments.
- A layout for computers. Above 1024 px the bottom bar becomes a rail on the left, the header and the content take the remaining width, and Home, the roster and the skill tree use two columns. Nothing changes on a phone.
- First steps on an empty account. A new coach sees three doors on Home — bring in an athlete, describe what you judge, prepare a template — then a single reminder to create a first skill until one exists. A new athlete sees the same kind of doors: first skill, first program, or a coach's code.
- Onboarding speaks about skills: a coach can build the skill tree right from the welcome screen; an athlete on their own is offered a first skill before a first program.
Changed
- An athlete's sheet now opens on Progression, not on Programs.
- The plan block in Settings says "Pro trial until…" or "Offered plan…" when that is the case, instead of "Free plan".
- The empty skills screen has its own "Create my first skill" button.
Fixed
- "TODAY" and "✓ Seen" in the messaging are now in your language.
- The empty Programs screen no longer says "No exercises".
- Long exercise names wrap on two lines instead of being cut.
1.33.0 Improvements
Solo athletes
- Your exercise library now lives in Programs › Library, next to your templates, instead of a window over Settings. Rename, delete one or several exercises there; the Settings row leads to it.
- Templates and library are part of Programs: the bottom bar lights Programs and a back link returns to your programs.
- Your own name is no longer repeated on your targets and self-assessments; the assessment screen is titled with the skill.
- Texts that spoke of a coach or of “your athletes” now speak to you when you train alone.
Everyone
- The notification bell works on every screen: on Home, Progression, Work on, Assess and Targets it showed a dot and did nothing.
- Program page: the summary (done / in progress / pending) and the action buttons follow the new design.
- Stats periods read “7 d · 30 d · 3 months · All” in your language; “1 skill acquired” is no longer plural.
- Settings and the user menu show your display name first.
1.32.2 Fixes
Fixes
- The exercise library now opens in its own tab of Programs (coach), instead of a window over the Settings page. Renaming, assigning to another athlete and deleting (one or several) work there; the Settings row leads to it.
- Athlete cards (coach): every card follows the same layout — name, days since the last assessment and menu on the first line, the skill that is stuck on the second, the bar, then the lit indicators on a line of their own. They no longer overlap the menu.
1.32.1 Fix
Fixes
- The period bar of the statistics pages (7d, 30d, 3m, All) was a light strip squeezed between the margins, with the buttons stuck to its edge. It now spans the full width, on the page background, and stays under the top bar while scrolling.
1.32.0 Last screens redesigned
What's new
- Programs (coach, under More) now has two tabs, Templates and Library. Each template card shows which athletes use it and which skills it supports; the exercise library opens straight from its tab.
- The Stats tab of an athlete sheet shows its figures in the new neutral boxes: programs, tasks, streaks and totals.
- An open program has a lighter title and a clearer « Rhythm — last 7 days » strip.
1.31.3 Fixes
Fixes
- The red dots now go out once you have visited the section. Opening Programs clears the dot for new programs and exercises, opening Tasks clears the one for new tasks; opening the coach’s Messages box clears its dot until a new message arrives. A page opened in advance by the browser does not count as a visit.
- The dots also show on Home and Progression, where they were missing.
1.31.2 Fixes
Fixes
- The red badges of the bottom bar are now a simple red dot laid over the icon: they no longer shift the tab.
- The full statistics page of an athlete (coach side) had no side margins.
1.31.1 Fixes
Fixes
- The back arrow on Programs, Analysis and Settings (under « More ») now returns to the page you came from.
- Skills and Messages, now tabs of the bottom bar, no longer show a back arrow.
- The task menu said « Edit » in English whatever the language.
1.31.0 The new design, everywhere
What's new
- A Home tab for athletes and coaches. The athlete sees their goal, the next step (the criterion holding them back, with the coach’s last word), what is planned today and their target. The coach sees who needs them today.
- New bottom bars. Athlete: Home, Progression, Programs, Tasks, Messages — Stats are now a tab of Progression. Coach: Home, Athletes, Skills, Messages (with the unread count) and More (programs, analysis, settings).
- The athlete sheet shows its sections as tabs at the top; the conversation is one tap away in the header, and your own messages are on the right.
- A lighter look on every screen: the roster is a list of rows, tasks are cards with a checkbox, names and buttons are no longer written in capitals.
1.30.0 Messages that carry a skill
What's new
- Attach a skill to a message. The new button next to the message field lists your skills and their criteria. The message then shows a chip such as « Backroll · Landing » that opens the skill (for the athlete) or its assessment (for the coach).
- « Make it a task » now also fills in the skill carried by the message. Once the task exists, the message says « Task created » instead of offering it again.
1.29.0 Work on a criterion
What's new
- « Work on … » opens a dedicated screen. It shows the skill and the criterion you are working on with its level, then every exercise attached to that criterion — to do, or done N days ago — with its demonstration and a link straight to the program where you log it.
- A program’s session now says which skills it supports.
1.28.0 More room on phones, no system pickers
Improvements
- Content uses 95% of the screen width on phones. One single container now sets the width and margins for the whole app; the stacked containers that doubled the margin on some screens (up to 32 px on Progression) are gone. On computers, the layout is unchanged.
- No more system drop-down lists: every list in the app now opens the app’s own picker, including the prerequisite and target pickers and the reason for declining a request.
- No more system suggestion bar at the bottom of the screen while typing: the browser’s autofill is turned off on app fields (not on login, password or e-mail), and the discipline and family suggestions are now tappable chips.
1.27.0 Programs, roster, stats and messages join the designs
What's new
- Programs say which skills they support (« Supports Pop and Jump »), as soon one of their exercises serves a skill criterion.
- Roster cards show the skill last assessed, what it is stuck on, and how many days ago — green, amber or red.
- A skill page now has a breadcrumb, prerequisites with their percentage, and « What it unlocks », flagging what belongs to your target.
- Stats: progression and performance figures in tiles, with sessions, average effort and records for the athlete; the coach’s Analysis screen follows the same look.
- Coach messages: every conversation on one screen, newest first, unread in bold. It opens from the home screen.
- Tasks linked to a skill carry an accent edge.
1.26.0 The coach screens, as designed
After the athlete side, the coach’s progression screens now match the approved designs.
What's new
- Home. The dashboard opens on what to do: athletes who need close attention, athletes waiting for an assessment, today’s tasks across the roster, unread messages and the last 30 days. The three counters of « Overview » made way for it.
- A Progression tab in each athlete’s page: their target with its bottleneck, their skills by family with a ring each, and a button to assess them.
- Skill references. One card per discipline with its families; a skill page with a breadcrumb, prerequisites as chips, criteria with how many exercises serve each, variants, and a warning when a criterion has no exercise.
- Targets. All targets of the roster on one screen, in progress or reached, each with a bar per step of its path and its bottleneck; a target page drawn like the athlete’s.
1.25.0 Progression, as designed — and for athletes without a coach
The Progression screens now look like the approved designs, and an athlete who trains alone gets the whole progression engine: their own skills, self-assessment and targets.
What's new
- Progression, redrawn. Skills are grouped by family with a progress ring each; locked skills say what they need; the skill page shows its level, prerequisites, criteria with the priority highlighted, variants and the last assessment.
- Targets tab. Each target shows its path step by step and the skill everything waits on, with a button to go and work on it.
- Assessing, redrawn. Five levels per criterion, the previous score dashed, the change shown as you tap (« +1 3 → 4 »), the new mastery and the next priority before you save. Tap a level again to clear it.
- Athletes without a coach now have the Progression tab: they build their own skill tree, assess themselves and set their own targets. Coached athletes still read what their coach assesses.
- Skill families (Basics, Rotations, Loops…) can be set on each skill.
Fixes
- No more zoom when tapping a field on iPhone on the activation, payment and admin pages too.
- 37 translation entries that nothing used anymore were removed.
1.24.3 Status filter as a dropdown
Improvements
- Coach dashboard: the status filter is a dropdown again, right next to the sort menu. Each status keeps its colour dot and its count, and the button shows the status you picked. The clickable legend under the toolbar is gone — it said the same thing twice.
1.24.2 No more zoom when typing on iPhone
Fixes
- iPhone and iPad no longer zoom into the page when you tap a text field — a zoom that then stayed on the next screen. Pinch-to-zoom still works as usual, and nothing changes on Android or computers.
1.24.1 Scrolling no longer counts as opening
To feel instant, the app starts loading a page as soon as your finger touches a link. On the coach dashboard, scrolling the roster with a thumb touched rows on the way — and each touched athlete was treated as opened: their « new » markers went out and their notifications were marked read.
Fixes
- Only a page you actually open counts as seen. Early loading still happens, so navigation stays just as fast, but markers, notifications and messages are only marked once the page is really shown — by a tap or at the end of a swipe.
- The same applies to the Messages tab and to swipes you start and then abandon.
1.24.0 The coach dashboard opens on what to do
The dashboard now tells the coach who is waiting for an assessment, and sums up the roster’s progression in one line.
What's new
- « Waiting for your assessment »: athletes who have trained since their last assessment, when it is at least a week old. One tap opens the assessment of the one waiting longest. An athlete never assessed is not counted, so a brand-new skill reference does not flood the screen.
- The last 30 days in one line — skills acquired, assessments, active athletes — with a link to the Analysis screen.
Fixes
- « N d without progress » never showed in the triage list. The dashboard looked up each athlete’s last assessment with the wrong identifier, so the reason added in 1.18.0 stayed silent. It now appears as intended.
- On small phones, the coach’s bottom bar now tightens like the athlete’s: the last label no longer runs off the screen.
1.23.0 Coach: an analysis of the whole roster
Stats showed one athlete at a time. The new Analysis screen answers the coach’s question about the whole group: is the training paying off, and where does it get stuck?
What's new
- Analysis, a fifth entry in the coach’s bottom bar.
- Progression of the roster over the last 30 days: skills acquired, assessments, athletes not assessed, and a chart of skills acquired week by week.
- Where athletes are stuck: the skills that were worked on without result. When several athletes stall on the same one, the screen says it plainly — it is a signal about the skill reference or the exercises, not about them.
- Activity: sessions, share of active athletes and average effort, so a busy roster that acquires nothing stands out.
Under the hood
- Three database reads for the whole roster, whatever its size.
- Only the coach’s own skill reference is analysed. Part of the Stats offer.
1.22.0 Stats in two families: progression and performance
A busy month and a month that actually paid off used to look the same on the Stats page. Now the page says both: what was done, and what is now mastered.
What's new
- A « Progression » family at the top of Stats, athlete and coach side: skills acquired, skills improving and assessments over the last 30 days, then each skill that moved with its mastery and how much it changed.
- Everything that was already there now sits under « Performance ». The measurements card is renamed « Measured progress » so the two words no longer collide.
- An athlete with no coach, and so no skills, sees the page exactly as before.
Under the hood
- Nothing new is stored: progression is read from the assessments already recorded. A skill assessed for the first time is shown as new, never as an invented jump.
- Personal records stay outside the subscription veil on the athlete side, as before.
1.21.0 A task can say which skill it works on
« Work on the landing, 20 jumps » is a task about a skill — and until now nothing said which. Tasks can now carry a skill from the coach’s reference.
What's new
- A « Skill worked » field in every task form, coach and athlete side. It only appears when there is something to pick: an athlete with no coach sees no empty menu.
- The skill shows on the task card, and in the details of the Timeline and Calendar views. The three task views themselves are unchanged.
- Turn a message into a task. Under every message you receive, a link opens a new task already filled in: the first line becomes the title, the whole message goes into the notes. It works on messages that have just arrived, not only on the ones already there when the page opened.
- Duplicating a task to the roster carries the skill — only to athletes who share that coach’s reference.
Under the hood
- Nothing is lost by accident. Fixing a task’s title keeps its skill; archiving then restoring keeps it; and if the coach deletes the skill from their reference, the task still says which skill it was about.
- A skill from another coach’s reference cannot be attached, even by forging the request.
1.20.1 One top bar, defined once
In demo mode the purple banner sat over the top bar on three screens. The cause was not the banner: the bar was written out eight separate times, the copies had drifted, and three of them pinned their height so nothing could push them down.
Fixed
- The demo banner and the top bar are now one block. The banner takes its space and everything below follows — on every screen, not five out of eight.
- The athlete selector sits next to the back arrow, on one row. On a phone the athlete profile was the only screen that pushed the name onto a second line and grew the bar to 80 px — which is what threw the alignment off.
- Settings no longer slides sideways on a phone. A long setting name could not shrink, so it pushed the page 25 px past the edge.
- Small drifts that came with the eight copies, now gone: the screen name was larger on two screens than the others, and did not shorten when space ran out on three of them.
- The athlete home now answers « what to work on next ». A card shows the target their coach set, how far along it is, and the one skill to work on now — and it opens their progression screen. It does not replace the program list: it sits above it, and it simply is not there for anyone who has no target.
- The fifth tab of the bottom bar is no longer cut off on a narrow phone. Since Progression joined it, the five labels needed 388 px on a 375 px screen — and because that bar is pinned, nothing showed it.
- A brand-new account can finally say what it is aiming for. The goal banner on the athlete home was locked inside the « there are programs » branch, so someone who had just signed up — with no program yet — had nowhere on their home screen to write it down.
- Targets no longer point at a skill picked at random. Until something has been assessed, every skill on the path is level-pegging, and the one shown was whichever the database happened to return first. It is now a settled order, and the screen says Where to start instead of Bottleneck — because proposing is not the same as knowing.
Under the hood
- 118 duplicated style rules replaced by one definition. Repairing the top bar used to mean repairing it eight times — and it only ever got done once.
- The height of the top block is now a sum the browser works out
(
base + banner) instead of thirty lines of JavaScript that re-measured and re-applied it after every screen change. - Reading a target’s path now checks the target belongs to that athlete, rather than trusting every caller to have checked first.
1.20.0 Switch athlete without leaving the screen
The logo left the top bar in 1.19.0. What took its place is the thing you actually needed there: the athlete you are looking at, and a way to change to another one without going back to the dashboard.
What's new
- The athlete selector sits in the top bar of the four screens that belong to one athlete — their profile, Assess, Full Stats and Targets. Tap the name, pick another, and you land on the same screen for them. No trip back to the roster.
- A search field past eight athletes, accent-blind: typing zoe finds Zoé, and typing o'sullivan finds O’Sullivan.
- Targets keeps its overview. The selector there has an All athletes entry, because that screen is a roster as much as it is an athlete's page.
- Switching keeps the tab you were on — and the skill you were assessing. Reading Alice's messages then picking Bob opens Bob's messages; assessing the same move across a group no longer means finding it again for every athlete.
- Full Stats finally calls people by their name. That screen was the only one still showing the login handle instead of the display name.
Fixed
- The dashboard no longer slides sideways on a phone. The four status pills needed 366 px on a 337 px row, so the whole page — bottom bar included — could be dragged off to the right. They now sit two by two below 420 px.
- Scrolling a list of athletes no longer marks them as seen. Resting a thumb on a name was enough to count as a visit: the « new » dots went out and notifications were marked read for athletes never opened.
- Names with an apostrophe read correctly in the browser tab (« Awa N'Diaye » is gone), and the back arrow keeps its circle on Full Stats however long the name.
- Search finds every alphabet, not just the common accents: typing a Czech or Vietnamese name exactly as it is spelt now finds it.
Under the hood
- The panel is anchored to the header row, not to its button, so it cannot run off the right edge on a narrow screen — whatever the length of the name.
- It closes when you tap outside, on Escape, and on scroll — but not when you tap the search field inside it.
- Accent folding is done with an explicit table rather than the system transliterator, whose output differs between Windows and Linux. Same result on every server.
1.19.0 Targets, bottlenecks, and a triage that finally means progress
Name a trick, list the skills it takes, and the app works out the rest: the prerequisites nobody wrote down, how far along the athlete is, and — the point of the whole thing — which single skill is holding everything up right now.
What's new
- Targets. A target is a combination of skills. Double backroll kiteloop board-off takes five; the app finds the sixth on its own, because Backroll needs Pop.
- The bottleneck is the one you can work on now, not the lowest score. A skill sitting at 20 % whose prerequisites are missing is not where to start — and sending someone there is exactly the bad advice this replaces.
- « Needs attention » finally counts progress. Until now, the coach's triage board measured activity — an exercise ticked, a task closed. It now also notices when nobody's score has moved in a fortnight: someone training without advancing, or nobody watching them advance.
- Never assessed is not a bad mark. An athlete you have not assessed yet gains nothing from this — not a point, not a reason. Otherwise every roster would turn red the day this shipped, on a reference that is still empty.
- The path reads like an itinerary: what is done, then what is left, nearest first. Prerequisites the app found by itself are marked as such.
Also
- The logo is out of the top bar. It took 131 px of 375 to tell you which app you had open. In its place, the name of the screen you are on — which the logo never told you. Nothing to reach is lost: the back arrow already went home on coach screens, and the bottom bar does on the athlete side.
Under the hood
- The percentage counts skills acquired, not an average of scores. Sitting at 79 % everywhere is zero skills acquired, and the number says so.
- Deleting a target removes nothing else — not the skills, not a single assessment.
- No cache, and that is measured: 3.7 ms on the worst graph one can write. A cache here would be a debt with nothing in return.
1.18.0 From what blocks you to what to do about it
Exercises can now say which criterion they work on. The athlete's Progression screen stops at « here is what is holding you back » no longer — it shows what to do about it.
What's new
- An exercise can work on a criterion. A new field in the exercise form, coach side and athlete side: Works on — Backroll · Landing. Leave it on No criterion and nothing changes; that is what all your existing exercises do.
- The athlete sees them where they matter. Under each criterion of a skill, the exercises that work on it — and under the one that is blocking, they are highlighted. One screen answers both « where am I stuck » and « what do I do ».
Under the hood
- Deleting a criterion detaches, it never deletes. The exercises that were on it go back to having no criterion, and keep everything else — their history included.
- An exercise can only be attached to a criterion from your own coach's reference. Anything else is refused on the server, not just hidden from the menu.
Coaches get a skill library: the moves your athletes are actually working on, what each one is judged on, and which ones have to come first. It is the foundation of the progression engine — nothing about your athletes, your programs or your tasks changes in this release.
What's new
- A skill library, in the coach's bottom bar. Create a skill, group it under a discipline, and list the criteria you judge it on — in the order you go through them. Everything saves without the page reloading.
- Prerequisites. A skill can require others: Pop before Backroll, Backroll before the rest. Pop exists once and feeds all of them — that is what keeps a hundred tricks from becoming a thousand rows.
- Loops are refused, and the reason is shown. If a prerequisite would make a circle, the app says so instead of accepting a graph nothing can ever compute.
- Assess an athlete in twenty seconds. From an athlete's page, tap the new icon: every criterion of a skill on one screen, five levels each, the previous score right there, and one save for the lot. The mastery percentage updates as you tap, before you commit — so you can see what a score does and change your mind.
- Athletes see it. A new Progression tab shows each skill, how far along you are, the criterion that is holding you back, and the last thing your coach wrote about it. Nothing to read between the lines — and nothing to fill in: this screen is yours to look at, not to answer.
- The tab only appears when it leads somewhere. No coach, no skills, nothing assessed — no fifth tab. A button that opens an empty screen costs more trust than it saves.
- Not scoring is a valid answer. A criterion left on « — » is not a zero: it is not recorded at all, and it does not drag the average down. Adding a criterion to your reference will never make everyone's mastery drop overnight.
Under the hood
- Deleting is not losing. Removing a skill or a criterion keeps every assessment already recorded, still readable: each one carries its own copy of the names. Deleting your account, on the other hand, erases them for good — including anything a coach wrote about you.
- Wiping your data now wipes assessments too, so the promise on that screen stays true.
- A refused action now says so. A form whose security token was rejected used to do nothing at all, silently — you pressed again and it worked, with no idea why. The new screens tell you instead. The leftover code that still accepted the old hourly token, three releases after it was needed, is gone.
- The skill library is not behind a plan: building your reference is preparation, and charging for it would stop you before the tool becomes useful.
1.16.2 Jump straight to a day
The timeline's Hour scale gets a calendar: tap the date and pick the day you want, instead of stepping there one arrow at a time. The rest is a round of polish on small screens — things that were being cut off, covered up, or written in the wrong language.
What's new
- Tap the date to pick a day. In the timeline's Hour scale, the date between the two arrows now opens a calendar. Choose a day and the timeline goes straight there. The arrows and Today are unchanged — one gesture to step, one to jump.
- The version number is at the bottom of Settings, for athletes and for coaches. It was only on the sign-in screen until now, which is to say only when you were signed out. Handy when you report something to us.
Changed
- An empty day says nothing at all. The timeline and the agenda used to write « No task on this day. » across the middle of the hours. The hours are drawn, the date is above them, and there is nothing on them — the sentence added nothing and read like a glitch.
- Less empty space under the timeline and the agenda. The gap between the view and whatever follows it was wider than it needed to be.
Fixed
- « Nothing upcoming » lost its icon under the agenda and the timeline, but kept it in the list. Same screen, same message, two different looks depending on the view you had open. It is the same everywhere now.
- The + button covered the sentence pointing at it. « Tap the + button to add a task » sat right under the button itself. Nothing ends under it any more — not that sentence, not the last row of the timeline, not the last week of the agenda.
- On a phone held sideways, the Programs screen cut off its own text when there was nothing in it yet, with no way to scroll down to the rest.
- The sort menu ran under the bottom bar. Its last options were unreachable on a short screen. The menu now fits the room it has and scrolls inside itself.
- Day initials on a program card were lower case in the list and upper case in the cards. The same day, two different looks.
- The timeline was speaking English. In its Day scale, the days along the top read « S M T W T F S » and the months « Sep 2026 », whatever language you had chosen — as did the header above the task names. All three follow your language now.
- Spanish: the « username already taken » message used a word that is crude in much of Latin America. It now reads the way the rest of the app does.
1.16.1 The timeline stays a timeline
On a phone, switching to Hour replaced the timeline with a vertical day planner. It is the timeline again — same rows, same bars, hours in place of the days along the top. And a day now runs from midnight to midnight.
Changed
- Hour scale, one shape on every screen. On the phone the columns are narrower so half a day is in view at once, and the task names take a little less room. Swipe sideways for the rest of the day. The agenda's Day view still reads top to bottom — that one is a calendar, not a timeline.
- A day is twenty-four hours. The scale used to start at 6 am and stop at 10 pm, stretching only when a task fell outside. All twenty-four hours are drawn now, and the view opens at the current hour, or at your first task of the day.
- The colour key has a line of its own, under the scale and the day arrows, instead of being split across whatever room was left.
- In the agenda's day view, the date and Today stay put while the hours scroll past. You always know which day you are reading, and how to come back.
Fixed
- The name of the day scrolled away with the hours instead of staying beside the task names.
- A short task showed a cropped time such as « 08:00 – … ». A bar too narrow for its range now shows none; the title is right there in the left column.
- A long task showed its name halfway down the block in the agenda's day view, far from the hour it starts at.
1.16.0 Your day, hour by hour
Tasks can carry a time, and until now nothing drew it. The timeline and the agenda now show your day hour by hour, on phone and on desktop, for athletes and for coaches alike.
What's new
- Timeline: Day or Hour. A new switch above the timeline. Day is the timeline you know, one column per day. Hour shows a single day with each task placed at its time: a 45-minute session and a 3-hour ride no longer look the same. Tasks without a time sit in an « All day » band at the top, and a line marks the current time. Use the arrows to move from day to day; your choice of scale is remembered on this device.
- On the phone, it is the same timeline. The hours simply take the place of the days along the top; the day scrolls sideways and opens on the current hour.
- Agenda: Month or Day. Tap a day in the month, or the new Day button, to see that day hour by hour. Tap a task to open its details. Month brings you back.
- Month cells show coloured dots instead of tiny text. One dot per task, in the colour of its status, up to eight, then a count. The titles are one tap away.
Fixed
- The timeline and the agenda stopped following your filters once you had added, archived or deleted a task without reloading the page — and the task list could show up again under the agenda. Both views now pick up every change, reload or not.
1.15.3 Dialogs stay put
Two fixes for the phone app, both about a dialog that closed itself when you tapped a field inside it.
Fixed
- Tapping a field could close the dialog. On a phone, when the keyboard comes up the dialog re-centres itself under your finger, and the tap could land on the dark backdrop — which closes the dialog. This was easiest to hit on the Tasks screen after coming back to the app. A dialog now closes from its backdrop only when the tap both started and ended on the backdrop. Dragging a finger from a field out to the backdrop no longer closes it either.
- The new-task dialog closed on the first tap. If you had been to Programs or Settings since the app was opened, tapping the title field of a new task closed the dialog instead of giving it focus — and after a visit to Settings, the + button could stop responding until you reloaded. Each screen now takes back its own dialog controls every time you arrive on it, whatever screens came before.
1.15.2 One tap is enough
If you keep skilltrackr open on your phone, some actions needed two taps to register. They need one.
Fixed
- An action sometimes had to be done twice. Logging a session or saving a session note on a classic program could do nothing the first time, silently, and work on the second try. Every form carried a security token that expired about an hour after the page was drawn — and a phone app you never close keeps the same page for days. The token now lasts as long as you stay signed in. This affected every screen, not only programs.
- A dialog that was closing swallowed the next tap. For a third of a second after a dialog closed, its invisible backdrop was still there. Tapping a button in that moment did nothing.
1.15.1 Nothing left under the bottom bar
A short follow-up to the folders release: every screen now ends exactly where the bottom bar begins, and the Programs toolbar is tidier.
What's new
- The search lives in the toolbar. On the Programs screen, tap the magnifier: the search field opens on a second line of the toolbar, right under the buttons. Tap the magnifier again to close it — that also clears the search. Your choice is remembered on this device.
- The toolbar is reorganized: the count and the filter on the left, the magnifier next to them, and the round buttons on the right.
Fixed
- The last card was cut by the bottom bar on phones with a home indicator, once the list was long enough to scroll. Every screen now stops exactly above the bar — programs, tasks, messages, statistics and settings, athlete and coach alike.
- The floating buttons (new task, new exercise) sit above the bar on those phones too, instead of on it.
- On a program card, the folder button now closes its « Move to… » menu when you tap it again — it used to reopen it. Same for the folder’s ⋮ menu.
1.15.0 Folders for your programs
Twelve programs on one screen is a pile, not a list. You can now group your programs into folders, right on the Programs screen.
What's new
- Folders. Tap +, then « New folder ». A folder is a section of the list with its name and its number of programs. Tap the header to collapse it — it stays collapsed until you open it again.
- Move a program into a folder by dragging its handle onto the folder header (in « My order ») — a collapsed folder takes it too. While you hold a card, the list scrolls when you reach the edge, or with a second finger.
- Or without dragging: the folder button on each card opens « Move to… », with every folder and « Take out of the folder ». The rename dialog has a Folder field as well.
- Dragging a program looks exactly like dragging an exercise: the card in your hand keeps its size and turns slightly translucent, its future place shows as a tinted slab, and the target folder lights up with an outline and a tint. You always know where the card will land.
- Session time. In a classic program, each logged session shows its time, in your own time zone, next to the note.
- Reorder folders by dragging their handle, like the cards. Rename or delete a folder from its ⋮ menu. Deleting a folder never deletes anything: its programs simply go back to the list.
- Folders come first. Programs outside any folder are listed below them, under « Not in a folder ».
- Search looks inside folders, and opens a collapsed one to show what matches.
- The slides follow the folders. Open a program from a folder and the arrows go through that folder first; the back bar reads « Folder › Program ».
- Coaches organise an athlete’s programs the same way, from the athlete’s page. Folders belong to the athlete, like the programs.
- One view. The Slides view and its List/Slides switch are retired: the list does everything, and a program still opens on its own page when you tap its card. Reordering programs is done in the list, by dragging.
What was fixed
- Logged out on the phone app, again. The 1.14.1 fix covered one cause; two remained. Your « stay logged in » token was replaced every time the app woke up, and a phone that missed that reply (network drop, app killed mid-load) was left with an expired one. The token is now kept as long as it is young, and the session itself survives the app being closed for up to 30 days. Signing in with Google now keeps you logged in too.
- A brief database hiccup no longer sends you to the login screen.
- « From library » now sees what you just created. An exercise added a minute ago, without reloading the page, was missing from the library until the next reload — most visible in classic programs, where you build a session and reuse it right away. And exercises already in the open program are listed too, marked « already in this program » — pick one and it is added a second time, as a copy with its own prescription and history. Squat at the start of the session, squat again at the end.
- No more duplicates in « From library ». One line per exercise title, in programs and in templates — a template applied to three programs no longer lists the same exercise three times, and a trailing space no longer makes two titles.
- The « Move to… » menu no longer flashes under the next card, and the back bar gives the folder and the program their own line — and keeps them when you reload the page on an open program. The « Delete for good » dialog no longer shows raw tags.
1.14.2 An icon for every task
The circles along the task timeline showed an icon only for a handful of category names. Now every category gets one.
What changed
- Eighteen more icon families — equipment, travel, cardio, physical prep, analysis, meetings, goals, tests, studies, work, shopping, sponsors, social media, mental prep, weather, team, coaching, money — and hundreds of category words in English, French and Spanish. Sports go to the training icon.
- Words inside the name count. « Video review », « Kite session » or « Physio appointment » find their icon by the word they contain.
- Unknown category: its initial. A bold letter instead of a plain dot, so two custom categories never look the same.
1.14.1 Stay logged in, for real
If you use skilltrackr on your phone and on a computer, you were being logged out for no reason. Fixed. And the counters are back on the program cards, next to the preview.
What was fixed
- Logged out for no reason. Every time one device reconnected, it quietly invalidated the « stay logged in » key of your other devices. Phone and computer took turns logging each other out. Each device now keeps its own key.
- Logging out on one device no longer logs out the others. Changing your password still does, on purpose.
- Opening the app from a link in an email or a message could land on the login screen even though you were still logged in. It opens your account directly now.
What changed
- Paste a template into the program you are in. Inside an open program, the menu entry is now « Add exercises from a template »: the template's exercises land at the end of that program, as work to do, and a title already there is skipped. Creating a new program from a template is still the « + » of the program list.
- Counters are back on program cards. Three colored badges with their numbers — done, in progress, pending — sit to the left of the « Preview » pill, on one line. Hover a badge for its meaning.
- Small things. The chevron sits at the same place on every card. Dropping a dragged card no longer opens it. Renaming a program updates its name in the dialogs right away. A little air under the search field.
1.14.0 Programs, faster to browse
A release about the Programs screen: find a program without scrolling, see what is inside without opening it, open an exercise with one tap, and pick from your library by typing. Plus two fixes you may have hit.
What's new
- Search your programs. A search field sits above the list. It filters as you type, ignores accents and capitals, and tells you when nothing matches.
- Preview a program with the eye. A « Preview » pill sits on each card. Tap it and the card unfolds its exercises, each with its status dot, its prescription and its short goal. Tap again to fold it.
- Tap an exercise to open it. The whole card opens the exercise sheet; the « ⋮ » menu still works.
- Add from library by typing. The drop-down list is gone. Start typing and the list narrows down; exercises already in the program are not offered, validated ones and archived ones are marked, and the arrow keys work. In a template, the same search sits above the tick list, the button counts what you ticked, and the list forgets what you just added.
- Delete several library exercises at once. In Settings › Exercise library, tick the ones to remove, « Select all » takes the rows shown by the search, and the red button shows how many you are about to delete.
- Drag and drop scrolls. Reordering a long list of programs or exercises now scrolls the list when you drag near an edge, and the landing spot is shown as a translucent slot.
- The bottom tab is called Programs. It was still named « Exercises » since the rename.
What was fixed
- Task buttons did nothing with a mouse. On a computer or a desktop install, the status circle and the « ⋮ » menu of a task ignored clicks. Both answer again, mouse and finger.
- The program list no longer needs a refresh. After editing a program — adding an exercise, changing a status, logging a session — going back to the list showed the old figures. It now shows the current ones.
1.13.2 Push notifications work again
Since August 12, no push notification had left the server. Not one. If you turned them on and never heard from the app again, this is why — and it is fixed.
What was broken
- Every push notification failed silently for three weeks. New exercises, new tasks, coaching requests, validated exercises, completed tasks, daily reminders — none of them reached a phone. The app looked fine, the queue filled up, and nothing came out.
- Nothing said so. The failure happened inside the encryption step, which reported an error nobody was reading. The notification simply never arrived, and there is no way for you to tell the difference between « nothing happened » and « something happened and the message was lost ».
What it was
- Each push message is individually encrypted for your device, and that requires generating a fresh key every time. The server was missing a configuration file the encryption library needs to create keys — so it refused, every time, for every message.
- The app now carries that file itself, rather than hoping the server provides one. The same check now runs in the admin dashboard, so if it ever happens again it turns red instead of staying quiet.
Also in this release
- A plan granted by hand can no longer be silently overwritten by a message from the payment provider. It only changes when a real, paid subscription replaces it.
1.13.1 Every athlete card gets its menu back
Three fixes on the coach side, all visible.
- On the dashboard, only some athlete cards had a « ⋮ » menu — and the ones without it were also missing their three activity dots. The card showed no sign that the athlete had validated an exercise, finished a task or sent a message, and there was no way to act on them from there. It depended, for no good reason, on whether the athlete had a highlighted exercise. Every card now has both.
- The pending invitations block was in English — « Pending invitations », « Expires in 3d » — whatever your language.
- The program counter above the list now reads « 5 prog. » instead of « 5 programs », which gives the buttons beside it room to breathe.
1.13.0 Groups are now programs — and you choose which ones to export
A group of exercises is now called a program, everywhere, in all three languages. And when you export a PDF, you no longer get all of them: you pick.
What changed
- « Group » is now « program » throughout the app — screens, menus, confirmations, notifications and history. Nothing moved and nothing was lost: only the word changed. Your existing programs are exactly where you left them.
- The two ways of tracking are now called Progression and Classic. Progression is unchanged: each exercise is validated once mastered. Classic is what used to be called a repeated program: the session comes back and each one is logged. A program can still switch from one to the other at any time.
- PDF export now lets you choose your programs. Tick Exercises and a panel opens with your programs, each with its number of exercises. Everything is selected by default; one button selects or clears them all. Exporting one program to show a single athlete no longer means printing six.
A real bug, fixed
- After creating a program, most buttons on the page stopped responding until you reloaded. Menus, rename, delete, adding an exercise, ticking a status — the screen looked perfectly normal and simply did nothing. It appeared in 1.12.0 as a side effect of the security work, and it is the most likely explanation for anything you reported recently as « a button that doesn't work ». Fixed, and the same protection now covers the other places where the app updates part of a page without reloading it.
Smaller things you may notice
- Push notifications are now in your language. All of them were in English — « 3 new exercises added » — whatever your account language.
- Three messages that had never been translated now are — the result of copying content between athletes, the confirmation when deleting a template, and the count of programs it affects. They appeared in English whatever your language.
- The program list in the export panel keeps the export button reachable on small screens, and scrolls on its own rather than stretching the dialog.
1.12.0 The app now refuses code that isn't its own
Nothing here changes what you see. This release closes the last opening we knew about: your browser will now run only the code skilltrackr. sent it, and block anything else — even if someone found a way to slip it into a page.
What changed
- Every script the app runs now carries a one-time signature, different on every page load. Code that arrives any other way has no signature, so the browser refuses to run it. Until now the rule allowed any script written into the page — which is exactly the door this kind of attack walks through.
- The app can no longer turn text into code, which removes a second route to the same problem. It never used that capability, so nothing is lost.
- The terms and privacy pages got their own, stricter rule — they carry no code at all, so none is allowed on them.
Why a release with no new features matters
- Getting there meant rewriting every button, menu and dialog in the app — 468 of them — so that no behaviour is written inside the page any more. It is the largest change we have shipped, and you should not be able to tell.
1.11.0 Tasks become a timeline
The task list keeps the same cards, but reads as a line of time now: one circle per task, and a stroke that fills as the deadline approaches. You can see what is behind you and how close the next thing is without reading a single date.
Tasks
- Every task now carries a circle on the timeline, with the icon of its category inside — a barbell for training, a flag for a match, a cup for a competition, a cross for anything medical, a moon for recovery, a camera for video, a sheet for admin, an apple for nutrition. Named a category yourself? If it contains an emoji, that emoji is used. Anything else gets a plain dot: better no icon than the wrong one.
- The circle carries the colour, and the card no longer does. The coloured stripe down the left edge is gone. Red means late, purple means priority, green means done, blue is everything else — and when a task is both late and a priority, red wins, because time beats importance.
- The line fills as a deadline approaches. It measures where today sits between one task and the next, so it runs solid through everything behind you and stops at a single point: now. As a date comes closer, the line grows towards it.
- Completed tasks carry no line. The stroke measures a deadline coming at you, and a finished task no longer has one.
Roster
- The search field is tucked behind a magnifier at the top of your roster, and slides open when you tap it. It opens by itself when a search is already running, so you always see what you searched for and how to clear it. The row of buttons underneath gets its space back — Teams, Invite and Add fit on one line, in all three languages.
- The filter you have switched on is easier to spot, with more room around the label.
Exercises
- The filter menu no longer runs off the left edge of a phone screen. Its options were partly unreachable, and nothing on screen said so.
- A long filter name no longer pushes the list/board switch out of the row. The name is shortened on the button; the full wording stays in the menu.
No new feature in this one. We went through the whole app screen by screen, measured what was cramped, unreadable or dead-ended, and fixed it — plus a round of work on how your data is protected.
Everywhere
- No more flash of the wrong theme. Opening the app in dark mode briefly showed the light one. The theme is now decided before the first stylesheet is read.
- The labels in the bottom bar are bigger and no longer in capitals, which had made them harder to read at a glance, not easier.
- Empty screens now offer the next step instead of only stating the emptiness. An empty group offers to add an exercise; a card with no personal record offers to record a performance.
Coach dashboard
- The coloured legend is the filter now. Attention, slowing, on track, idle — you tap one to filter your roster. The separate "Status" menu said the same thing twice and is gone.
- Athlete cards reorganised: the percentage sits opposite the name and lines up with the menu button, the status badges moved under the focus badge, and the progress bar runs underneath.
- Your seat count moved into the ROSTER badge, next to the section title. In the row of buttons it read like a fourth button that could not be pressed. Elite accounts, which have no seat limit, see their total number of athletes there instead.
Security and your data
- Session cookies hardened, and re-issued with their full protections at the moment you sign in.
- The browser security policy has been completed: the app can no longer be framed by another site, and can no longer send a form anywhere but here.
- Backups are now copied off-site to Google Drive, encrypted before they leave the server. The key never travels with them. A backup that ends up in the wrong hands is unreadable without it.
1.9.2 Recording what you did, in one place
- Your first entry no longer takes two dialogs. Recording a performance on an exercise that had never been measured meant leaving the exercise, opening its settings, choosing what to measure, saving, and coming back. The question is now asked where you are, and only the first time — afterwards it is deduced from what you recorded.
- The exercise stays open when you save. Saving what you did used to reload the page and drop you back on the group list, so you never saw the entry you had just made. Your history and your new personal best now appear straight away, without leaving the exercise.
- Sessions in programme mode now count towards records. Programme groups had no records and no progress curve: nothing was ever recorded, because you tick off a session rather than open each exercise. Marking a session done now records what the programme prescribed, for every exercise that has a target. Undoing the session takes those entries back with it.
- New totals on the progress card — distance covered, height jumped, time spent, reps done, added up across everything you have ever recorded.
- Personal records now show the five most recent, with a scrollable dialog for the full list. A long list used to push the rest of the page off screen.
- Deleting a group removes its records from the stats page. They stayed there, describing work that was no longer anywhere. The exercises and their history are untouched, as the confirmation says: put an exercise back in a group and its record comes back with it.
- A session you rated without writing a comment now shows its score. The button still read "Rate this session", so there was no way to tell the rating had been saved — and a coach saw a session marked 9 as if it had never been rated.
- "What do you measure?" is now always available on an exercise, not only the first time. It appeared solely on an exercise that had neither a target nor any history — so in practice it was almost never there, and changing what you record meant going through "Edit". The block is also clearer about what it does: it says it records a performance, that the best one becomes a personal record, and that filling it in is optional.
- An exercise can now hold one record per measurement. If you logged the same exercise in kilos and then in seconds, the seconds never counted: weight was compared against time, and weight always won. A plank held for 90 seconds and a weighted plank at 20 kg are two performances — both are kept, both are starred in the history, and each has its own progress curve.
- The performance block folds away. Recording is optional and the exercise sheet was getting long, so it now sits in a panel you open when you need it. It remembers whether you left it open.
- Gifted plans are fixed — three faults, all in the same place. Giving a year to someone whose grace period had run out gave them nothing at all. Worse, when that grace period ended the gift was erased from the account rather than merely ignored — and the case is an everyday one, since removing an athlete from a roster is exactly what starts a grace period. A dated gift also could not expire on its own between two sign-ins. Nobody was told in any of the three cases: neither the person giving, nor the one receiving.
1.9.1 Four things that got in the way
- Dropdown lists no longer close while you scroll them. A long list — units, categories, hours — closed the moment you tried to reach an option further down. The list now stays open while you scroll inside it, and still closes when you scroll the page behind it.
- One red outline instead of two when you tick a group in "Delete groups". The outline now appears for keyboard users only, where it is actually needed.
- The prescription fields hide themselves when the type is set to "None". Sets, value, unit and load used to stay on screen, with an empty unit list under them.
- The template exercise dialogs are translated again. Two labels were displayed in English whatever your language.
1.9.0 What the athlete reports
Two things only the athlete can say: what they are capable of, and how hard it felt. Both are written by the athlete and read by the coach — a coach cannot create or change either of them, because a personal best someone else typed is not a personal best, and an effort rating filled in by the person who did not do the session is the one number you should not trust.
Personal records
- A record is a label, a value and a date. "Bench press, 100 kg, June 10". The unit is free text: a climber counts routes, a swimmer counts lengths — the list only suggests kg, m, km, cm, s, min and h.
- It can point to one of your exercises, or stand on its own. Delete that exercise later and the record survives, simply unlinked — the value and the label are still true.
- They live on your stats page, at the top, and they are not behind the subscription: what you wrote about yourself stays readable whatever your plan.
Perceived effort
- Rate a program session from 1 to 10, in the same place you write its note. One tap, colour-coded: green up to 3, orange up to 7, red beyond.
- Leaving it blank is normal. A session with no rating is not counted as a zero — it simply stays out of the average.
- Your coach sees the number on the session line and the 12-week average on the stats page, along with how many sessions it is based on: an average over three sessions out of thirty is not the same claim as an average over thirty.
- The stats card previously called Streak & records is now Streak & totals. It shows running totals, not performances — and with personal records on the same page, one word could not mean two things.
1.8.0 How much, on the exercise itself
An exercise can now carry what it actually asks for: 4 × 12 at 60 kg, 45 seconds, 500 m, 1.20 m. Until now that had to be written into the title or the goal, where nothing could read it back.
- Five kinds: repetitions, duration, distance, height and length — each showing only the fields that make sense. A duration has no load; a height has no sets.
- A badge on the exercise card shows the prescription at a glance, without opening anything.
- It travels with your content. Save a group as a template, duplicate it, apply it to an athlete, sync it in either direction — the prescription follows, and a change to it alone is enough for the sync to notice.
- The short goal became a note on program groups. The badge already says how much, so the field is now free for what it is good at: "keep the back flat, breathe out on the effort".
- Everything is optional. An exercise without a prescription looks exactly as it did.
1.7.0 Show the movement, don t describe it
An exercise can now carry a video. Paste a YouTube or Vimeo link and it plays right there; anything else — Drive, Instagram, a file on your own site — opens in a tab. Nothing is uploaded, so nothing is lost if you change your mind.
- A small VIDEO badge appears only where there is one. An exercise without a video looks exactly as it did.
- The video follows your content. Save a group as a template, duplicate it, apply it to another athlete, sync it in either direction — the link travels with the exercise. Change only the video and the sync notices.
- The player loads only when you tap it. Opening a list of twenty exercises contacts YouTube zero times. We use their no-cookie domain, and closing the player stops the video instead of leaving it running.
- Because the player is embedded, YouTube and Vimeo see who watches — this is now written in the privacy policy.
1.6.2 Easier to read, and seats that count straight
- Your roster list is striped. Every other row is a shade darker, so your eye stays on the same line all the way across.
- Seats no longer count athletes who left. When a coach deleted their account, the link to each of their athletes stayed behind: it occupied a seat on a roster that no longer showed anyone. The database now removes those links on its own.
1.6.1 A shorter header on your tasks
The tasks screen gave back about a hundred pixels of fixed header — that is two more tasks visible before you scroll.
- Search, Filters and Archive now share one line. The three rows of filter buttons moved into a single Filters panel, which shows a badge when something is filtered — so a filter you forgot never leaves you with an empty screen and no explanation.
- Upcoming and Completed stay put while you scroll, so the counter that tells you where a task went is always in sight. They step aside on the Timeline and Agenda views, which show everything by design — there, the Completed filter comes back instead.
- Smaller things you would have noticed: the archive icon had turned grey, the category list was cut off by the filter panel, and picking a category showed its English name instead of yours.
1.6.0 Two tabs, and two names that stopped colliding
Your tasks now split into Upcoming and Completed, and ticking one off moves it across instantly. Settings also stopped confusing your display name with your username — they are two different things, and now they behave like it.
Tasks in two tabs
- Half the scrolling. Finished tasks no longer sit under the ones you still have to do. Tick a task and it leaves the list at once, with the other tab's counter ticking up so you can see where it went.
- The old Done filter is gone — the tab says it better, and says it all the time. Open and In progress stay, to narrow down what is left.
- When a tab looks empty, it now tells you why: nothing in it yet, or your filters hiding everything — with a button to clear them.
Display name and username
- The "Display name" screen was editing your username. Correcting how your name looked quietly changed the ID you had given your coach, and burned your one change per 14 days. Each now has its own screen: the display name changes as often as you like, the username keeps the 14-day limit — because that is the one people use to find you.
- Usernames are lowercase. They always were, as far as the database
was concerned:
Antoineandantoinewere never two different people. The screens now agree with that instead of pretending otherwise. - Buttons that are switched off finally look switched off, rather than inviting a tap that does nothing.
1.5.0 What a coach needs to know
Athletes can record an emergency contact and, if they choose to, what a coach should know about their health before pushing them. Everything is optional, and the screen tells you who will see it before you write a word.
Important information
- An emergency contact — a name, a relationship and a phone number. Your coaches see it from your card, and the number is one tap to call. This is the field that matters on the day something happens.
- Health information is opt-in twice: you write it, and you tick a box that says your coaches may read it. Without that box nothing is saved. Untick it and save, and what was stored is erased — that is how you withdraw.
- Only the coaches you are attached to can see it. All of them, on purpose: any one of them may be the one present when it matters. Detaching a coach ends their access, as it always has.
- Your profile strength counts the emergency contact, and deliberately does not count your health details or your measurements. A progress bar that fills up when you disclose is not help.
Also
- Everything the welcome screens ask for is now in Settings. Sport, bio and the information above had no other way back — you could fill them in once and never edit them again.
- Switching from athlete to coach now starts your Pro trial, once. Landing on the free plan, capped at one athlete, was the worst possible moment to discover the product.
1.4.0 Coach or athlete, your choice
You can now switch your account between coach and athlete — and switch back. Nothing is ever deleted along the way.
Switch account type
- Both spaces are kept. Switching creates the missing side and changes which one you land in. Your groups, exercises, history and messages stay exactly where they are, and switching back restores everything.
- Two cases are refused, and the screen says why: a coach whose roster is not empty (your athletes would lose their coach without a word), and an account with an active subscription (the plans differ between the two types).
Also
- Your username is now shown in Settings, under your display name — it is what you give a coach so they can find you, so you should not have to remember it.
- The welcome screens now show named steps with icons, so you know what is coming.
- Asking for a confirmation code twice sent two different codes, and only the second one worked. Fixed.
1.3.1 Your profile
A short profile step after you pick your name — and an important fix for accounts that sign in with Google.
Fixed — please read if you signed up with Google
- Deleting your account, or erasing your data, asked for a password you never set. Nothing could satisfy that field, so the action was simply impossible. Both screens now offer a 6-digit code sent to your inbox instead. Deleting your account is a right — it cannot depend on how you sign in.
- The welcome screen no longer opens the keyboard on arrival.
Your profile
- A profile step, right after your name. Your sport, a line about you, and — as an athlete — your long-term goal. Coaches see a sport and a bio, shown to athletes who scan their code.
- Never required. « Skip for now » sits next to « Continue », and skipping saves nothing. The strength meter has four items, and it disappears once they are done — it is there to help, not to nag.
1.3.0 A shorter sign-up
Signing up now asks for three things: your email, a password, and whether you coach or train. Your name comes on the next screen, once you know what the app is for.
What changes
- One question instead of two. The welcome screen asks how you should be called, and builds your sign-in name from your answer — shown underneath, editable, with a live check that it is free.
- The same for invited athletes. If your coach did not pick a name for you, you choose it yourself on arrival. If they did, it is kept — someone already made that choice, and we do not ask twice.
- The welcome screen now opens for a profile that still needs a name, even on an account your coach has already filled with exercises.
1.2.0 Sign in with Google, properly
If you sign up with Google, you are no longer asked to invent a password. That was the whole point of the button, and the old form took it back on the very first screen.
What changes
- No password on the Google path. Sign up with Google and you pick your role — that is all. Your account simply has no password.
- Add one whenever you like. Settings now reads Create password instead of Change password when you do not have one, and it does not ask for a current password you never set. A card in the welcome screens points you there — with a plain « Later », which is a real answer.
- Signing in tells you the truth. Typing a password on a Google account used to return « invalid username or password », which sent people hunting for a password that never existed. It now says the account signs in with Google.
- Erasing your data or deleting your account still asks you to prove it is you — by email code when there is no password. Deleting your account is a right, and it cannot depend on how you sign in.
1.1.2 Under the hood
Groundwork for signing in with Google without a password. Nothing changes for you in this release — that is the point: the foundation ships and settles before the feature that rides on it.
Polish
- The glow under gradient buttons was wide enough to fill the gap between two stacked buttons, so they read as one block. It is now half the size.
1.1.1 Small fixes
Polish on the demo, a clearer program strip, and fixes spotted right after 1.1.0 went live.
Demo
- The demo banner now stays on screen as you move around the app — it used to vanish after the first tap and only came back on a full reload.
- You can end a demo yourself when you are done looking: the banner has an End demo button, and everything it created is deleted right away.
Program mode
- The seven-day rhythm strip now shows the date above each box, not just the weekday initial — you can see at a glance which Wednesday you are looking at.
Fixed
- In list view, tapping the little arrow on the right of a group card now opens it. The arrow sat outside the tappable area, so only the middle of the card responded.
- Creating your real account from inside the demo now works — the sign-up button in the demo banner used to send you back to the sandbox dashboard.
- On the coach dashboard, filtering athletes down to an empty list no longer shows a dead “Show me how” button. The screen now says which filter is too narrow and offers to clear it.
You can now try skilltrackr without creating an account. Type your sport, pick a role and a plan, and a live sandbox is built for you — a believable training space, already three weeks into its story. It is yours for an hour, then it destroys itself.
The demo
- Type any sport, get a living app. The demo builds a ready-made training space around your sport — exercises, goals, a repeated program with logged sessions, tasks past and upcoming, and (as a coach) a message thread with each athlete. Statuses and dates are spread over three weeks, so the statistics, streaks and attention board all have something real to show.
- Two seats to try. As an athlete, your own space, already underway. As a coach, a roster of three athletes to run.
- Pick the plan you experience. Free, Solo, Coach, Pro or Elite — locked features stay visible behind their veil, so you can see exactly what each plan unlocks before paying for it.
- Everything is editable. The sandbox is yours: add, change and delete anything. After one hour the account and every trace of it are erased automatically.
- Invitations and payments are switched off inside the demo — a throwaway account should not be able to email real people or reach the payment page.
Fixed along the way
- Erasing your data from the athlete settings was broken — both "wipe my data" and "delete my account" failed with an error instead of erasing anything, because of one table that is emptied differently from the others. Building the demo's own cleanup exposed it. Both now work, and deleting a group no longer leaves orphaned program sessions behind.
- On the statistics screens, the "by day of week" chart labelled its columns M T W T F S S whatever your language. The initials now follow the app language — L M M J V S D in French.
- A brand-new athlete on a coach's roster no longer shows an absurd "20690 d without activity" — an empty history now reads "never", and the athlete is filed as idle rather than flagged.
1.0.4 Actually three languages
The app has offered French and Spanish for a while, and mostly delivered them. But seventy pieces of text still came out in English whichever language you had chosen — and they were spread across the screens you meet on your first day. They are translated. Also in this release: the date picker, which the previous version broke, and a question about notifications while you set up your account.
French and Spanish, this time everywhere
- Seventy sentences still appeared in English. Activating an account a coach created for you, the forgotten-password screens, joining a coach by code or QR, every confirmation in your settings, the invitations you send from your dashboard, the whole template library, the empty archive lists, the PDF export, and the notifications telling you a payment went through or a gifted plan has ended. All of them now speak your language, in French and in Spanish.
- Counts read properly in French now. The app was writing "1 modifications" — an English plural glued onto a French sentence. French counts zero and one as singular, English and Spanish do not, so each of these sentences now carries both forms and the right one is picked.
- A name or an address inside a sentence used to cancel the translation entirely. "Invitation sent to marc@example.com." was treated as a different sentence for every single athlete, so no translation could ever match it. The sentence and the value are separated now — which is also why these messages had stayed English while everything around them had not.
Notifications
- You are now asked about notifications while setting up your account, on the last step — once you can see what the app would actually tell you about. Say no and nothing happens; the switch stays in your settings, in both directions, whatever you answer. No app can turn notifications on by itself: browsers require a tap, which is exactly what this step is for.
Fixed
- The date picker stopped opening in the create and edit task windows. Making the app lighter moved some scripts to a different place in the page, and moving between screens without a full reload no longer picked them up — so the field simply did nothing. Both the picker and the underlying cause are fixed, so it cannot resurface on another screen.
- The month list in the date picker is the app's own now, instead of your phone's grey system list. It was also being cut to the height of a single line and drawn underneath the days, which made it close to unusable.
- Two statistics panels drew a broken chart when there was nothing to show. Focus breakdown and Performance by category now say so in one line and leave it at that.
- Filter menus are all the same width, and scroll when the list is long instead of running past the bottom of the screen. On the coach dashboard the task filter is shorter, with the status filter moved to a row of its own.
1.0.3 Six times lighter
No new screens in this one, and nothing moved: the app simply opens much faster. A first visit used to download just over a megabyte before showing anything. It now downloads 162 KB — and the first paint arrived in 428 ms, it now arrives in 152.
It stopped waiting on other people's servers
- The app no longer loads anything from outside itself. The font, the icon library, the logo, the favicon, the app icon and the language flags all came from three other domains. Every page had to look up three addresses and open three secure connections before it could show you anything — and if one of those servers was slow or down, so was the app. All of it is now served by the app itself.
- An icon library weighing 98 KB was being downloaded on every page, to draw thirteen icons. Those thirteen icons are now part of the app, about 2 KB. Nothing looks different: the shapes were copied from the library itself, not redrawn.
- The font went from 457 KB to 54. It was shipped in an old format, unabridged — every alphabet in the world, including the ones the app never shows. It is now split into pieces, and your browser downloads only the ones your screen actually needs.
- The date picker was loading on all twenty-three screens. Two of them have a date field.
Fixed along the way
- The eye button next to a password never changed. Clicking it did reveal the password, but the icon stayed the same, so nothing told you which state you were in. It now switches, on the sign-in, sign-up and password-reset pages.
- Style sheets are served from your device first and refreshed in the background, instead of the app waiting for the network before drawing. On a weak connection this is the difference between a blank screen and an instant one.
- The app's JavaScript was never being compressed on its way to you. It should have been, and the setting said so — but it named the wrong file type, so the server quietly skipped every script since day one. Around 240 KB per visit that did not need to travel.
- Page styling is now cached like everything else. Large blocks of styling were written inside each page, which meant they were downloaded again on every single screen you opened, forever. They are files now — fetched once, then free. The busiest screens got about a third lighter.
- Nothing blocks the first paint any more except the style sheets themselves, and the font starts downloading immediately instead of waiting its turn.
- Moving between screens now sends a fraction of what it used to. Every tap on the bottom bar was quietly re-downloading the whole page shell — the icons, the manifest, every script tag — only to throw all of it away and keep the content. Screens are now between a fifth and half as heavy to move to. The statistics screen dropped by more than half.
- The browser tab icon was a 512-pixel image, downloaded in full to draw a 16-pixel square. It is now a tenth of the size.
1.0.2 The app answers you
Until now the app did a great deal without ever saying so. You sent an invitation, the dialog closed, and nothing happened on screen — even though it had worked. This release gives an answer to every action worth confirming, and adds a second way to look at your exercise groups: a list you can sort and rearrange. Filtering, wherever it appears, also became easier to read and to reach.
Every action now tells you it worked
- Confirmations appear where you are looking. They used to be written at the very top of the page — so if you had scrolled down to press a button, the message was painted off screen and you never saw it. The green banner now floats just under the header, whatever you are doing, and clears itself after a few seconds.
- Fifty-nine actions that said nothing now say something — adding an exercise, renaming a group, saving a session note, taking an exercise out, accepting a coach, creating a template. The exercises and tasks screens, the two most used in the app, had no confirmation at all.
- Ten messages had been written months ago and never once displayed. They were prepared, then destroyed by the page reload that followed. Nobody could have known: the code looked correct.
- Accepting a coach now says what it changes. If it is your first coach, it tells you your plan becomes covered by their subscription. If you already had one, it tells you nothing changes for your plan — because nothing does.
- Removing an athlete now says what actually happens to them. One sentence used to cover three very different outcomes: another coach still follows them, or their plan stays active for thirty days, or nothing changes at all. The app already knew which one; it just did not say.
- Messages that carry a name or an email are now translated properly in French and Spanish. They used to stay in English.
A new way to see your exercise groups
- A list view, alongside the slides. One card per group with its progress bar and its counters, so you see everything at a glance instead of stepping through one screen per group. Switch between the two with the toggle at the top; your choice is remembered.
- Groups in “program” mode show what they actually measure. A WOD has no percentage and nothing to validate — it repeats. Its card shows the last seven days and how many sessions you did, instead of a progress bar stuck at zero.
- Drag a card to reorder your groups. Grab the handle on the left; the new order is saved without reloading. Coaches can reorder the groups they built; athletes can reorder their own.
- Tap a card to open that group. It opens instantly — the group is already loaded — with a clear way back to the list.
- Sort and filter your groups: by name, by progress (lowest or highest first), or show only your progression groups or only your program ones.
Seeing who needs you, on the coach dashboard
- Cards now carry a status badge — needs attention, slowing, on track, nothing pending — with the same colour code as the table view. Until now that signal existed only in the table, which is not the view every coach uses.
- The status is also a filter, with its own button next to the sort — so you can show only the athletes who need you first, without losing the order you had chosen. Included in Pro, like the attention board.
- The filter button now names the filter in use, on the dashboard and on the exercises screen, and lights up when it is not the default. You could not tell a filter was on.
Small things
- The progress bar stays visible when the counters panel is collapsed. It used to disappear with them.
- More room between a group title and its buttons, and the reorder arrows line up with the rest of the row.
- On a computer, the list view stays inside the page width instead of stretching edge to edge.
- When reordering is unavailable because a filter is on, the app now says so — and offers a link back. It simply removed the handles before, which looked like a bug.
- Filter menus stay on screen. A long list — your task categories, for instance — used to run off the bottom edge, and the last entries could not be reached at all. Menus now stop at the edge of the screen, scroll inside themselves, and open upwards when there is more room above.
- Sorting and filtering are now two separate buttons on the coach dashboard, instead of ten entries stacked behind one. All the filter menus in the app are also the same size now — they had been built at different times, at different widths.
Two days after launch, one evening spent on everything you feel but rarely name: controls you could not see, a keyboard that opened on its own, cards that vanished into the background. Nothing moved, everything became legible.
You can now see what you can click
- Buttons and form fields have a visible outline again. Several were, quite literally, invisible: a secondary button carried the exact colour of the page behind it, and a field inside a white dialog was white on white. Each now has its own background and a light border.
- Every input in the app looks the same. There were nine different definitions written at different times across six stylesheets — grey here, white there, bordered elsewhere. One single appearance now, everywhere.
- Clicking a field no longer turns it white. It takes the hover shade instead, so the field keeps its shape at the exact moment you start typing.
- Cards no longer disappear inside dialogs. Exercise cards, template cards, statistics cards, agenda days, plan choices, language and reminder options — all of them were white on white when shown inside a white panel.
- Dark mode got the same pass, plus a fix of its own: the green and red confirmation banners had kept their light-theme text colour and were barely readable on a dark background.
Installing the app
- “Install the app” is now impossible to miss. It was the third look-alike button in a stack of three; it is now a card with its own icon, placed directly under the title, on both the sign-in and the sign-up page.
- A confirmation appears once the app is installed — it closes on its own after a few seconds, or immediately if you close it.
- If your browser offers no install prompt (Firefox, Safari, iPhone), tapping the card now shows the manual steps. It used to do nothing at all.
- On Android, the installed app appears with your other applications; whether a shortcut is also placed on your home screen depends on your launcher.
The keyboard stays down
- Dialogs with a text field now open with the keyboard closed. On a phone it used to rise instantly and hide half of what you had just opened. The keyboard now appears when you tap the field — new group, new exercise, new task, session note, template title.
Settings
- Long email addresses no longer break the layout. “Email address” stayed on one line and the address is shortened; the full address is shown in the dialog when you open it.
- All the “›” arrows are aligned to the right edge again, including on rows without a value.
- The language dialog, the email reminder options and the account deletion confirmation were white on white — fixed.
Billing
- Annual subscriptions now receive a renewal reminder by email, roughly 45 days before the renewal date, in your language. It states the date, the amount, and how to cancel if you would rather not renew. This is required by Article L.215-1 of the French Consumer Code, and it is now actually sent.
- Our Terms of Use now say what happens when you move to a cheaper plan mid-period: the unused value becomes a credit applied to your next invoices — it is not refunded in money, and it is lost if you later cancel entirely. It was already how the payment system worked; it was not written down.
Small things
- A beta mark now sits at the top right of the logo on the sign-in and sign-up pages.
- The Reorder label is back next to the arrows that move a group, including on phones where it had been hidden for lack of space.
- The “Install the app” description now says what it is actually for: opening skilltrackr straight from your phone or tablet.
skilltrackr opens to everyone. Coaches build structured training, athletes follow it and record their progress, and both see the same thing at the same time.
For coaches
- Build exercise groups and exercises without any quantity limit, on the free plan.
- Reusable templates: prepare a block once, assign it to as many athletes as you need.
- Task manager, session notes, and a timeline view of what has been done.
- Statistics and an attention board to see, at a glance, who is falling behind.
- Invite athletes by email or by QR code; several coaches can follow the same athlete.
For athletes
- A permanently free account — not a trial.
- Validate exercises, follow your progress, keep your full history.
- Direct messaging with each of your coaches.
- Detach a coach at any time; your data stays yours.
Everywhere
- Installs like an app on phone, tablet and computer, without any store.
- Push notifications and email reminders.
- Three languages: English, French, Spanish.
- Light and dark themes.
- 30-day Pro trial for new coach accounts, no card required.
Version numbers follow semantic versioning: the last number is fixes and polish, the middle one is new features, the first is a major change. The version currently running is shown at the bottom of every sign-in page.