18 October 2026Where you sit over the crank, against the Kona pros
We measured every side-on photo from Kona 2026: 25 pros and 58 age-groupers, with the crank axle and the hip marked on every frame. Saddle height was not what separated them — the knee at the bottom of the stroke came out the same, 145° for the pros and 146° for the age-groupers. Where they sit was.
Draw a line from the crank axle to the hip and measure it from the horizontal behind the rider. The typical pro sat at 88°, the typical Kona age-grouper at 85°. Three degrees at the axle is 4–5 cm at the hip: the pros sit that much further forward. It held for the men and for the women.
Now you can measure your own:
- After a bike analysis, tap "Mark the crank axle". Flapp looks for your crank on the chainring and puts the marker there. Check it sits on the centre, drag it if not, then Measure.
- On a clip, your hip comes from every frame, not one, so the pelvis rocking through the stroke averages out.
- You get the angle, where it sits against the pros and the Kona age-groupers, and the gap in centimetres. Mark the pedal axle for your own scale; with both wheels in the picture, Flapp also levels it on the wheel axles, so a tilted phone isn't read as a position.
It is a field, not a target: it says where the fastest riders sat, not where you must. Moving the saddle forward moves the hip about one for one, but it also changes your reach and the knee over the pedal. One change at a time, 5 mm at a time, then film again.
Available on the Full plan since 26 October. Enthusiast members who joined before then keep it until the end of the period they paid for.
12 October 2026Worth a look: every reading outside its range, with what to check
A coach's report once said "Nothing to fix" directly under a table with two red rows. The numbers were right; the summary was wrong, and somebody who came looking for room to improve was told there was none.
That cannot happen any more. When a measurement is clearly outside its range, the coach's notes have to deal with it — "Nothing to fix" is reserved for a position where nothing is.
And every report now ends with Worth a look: each reading outside its range or on its edge, listed with what usually causes it and what to check or try first. Built from the same verdicts as your joint table, not written by the AI, so nothing on the table is left out of it. For example:
- Knee at the top of the stroke, more open than the range: usually short cranks or a saddle on the high side. If the knee at the bottom also sits at the top of its range, try the saddle 3–5 mm lower first; on cranks of 165 mm or shorter the reading is expected.
- Helmet high above the back: dropping the head a little cuts drag, as long as you can still see the road.
Where the honest answer is "often deliberate" or "re-film before changing anything", it says that. A hint is a starting point, not a diagnosis: these are 2D pose measurements, good to a few degrees.
11 October 2026Twenty-one Kona pros, and the rules that moved
After the Ironman World Championship we ran professional bike positions from race photographs through the same pose model Flapp uses on your clips, checked every joint point by hand, and wrote up what the field actually rides: Kona 2026: What 21 Pro Bike Positions Actually Measure. The median pro rode with the forearms tilted 25° up, the torso at 21°, the shoulder at 87° and the helmet 19% of a torso length above the back.
Measuring the world's best against our own ranges showed some of our aero-bar rules were behind them. Each moved only as far as a source supports:
- Forearm tilt runs to 30°. Every pro was at 19° or more, and half sat above 25°, where our range used to end.
- A closed shoulder on aero bars is amber, never red, and costs a third of the penalty. No fit source calls it a fault; one opened past the range still costs full rate.
- A torso flatter than the range costs no points on aero bars. It comes with one plain caveat instead: faster through the air, but most age-groupers cannot hold it and make their power.
- The aero read-out splits the low positions into three steps on measured frontal areas, instead of putting every torso under 28° in one bucket.
The photo analysis got sharper on the way. A bike photo now says where the crank was — bottom, top, or "not sure" — and grades the knee and hip only at a position it can name, so a saddle that is too low can be seen from a still. The knee in a photo is graded on the same slope as on a clip, so a photo and a clip of one saddle cannot disagree about how far off it is. And a very large photo that found no body is retried at a smaller size before you are told there is nobody in it.
11 October 2026The helmet, not the ear: a head reading that means something
A reader looked at the Kona figures and asked why every pro scored 100/100 for head position. Fair question. The old score checked whether your ear sat below a line through your hip and shoulder joints — a line that runs inside the body — so every rider on aero bars passed, and the helmet, the part that actually sits in the wind, was never looked at.
Now Flapp measures the helmet. From your outline it takes the highest point of your back, draws a level line through it (level, because the wind is), and reports how far the top of your helmet rises above it, as a share of your torso length. The Kona pros sat between +12% and +28%, median +19%; twenty of the twenty-one were at +23% or lower.
- Up to +23% costs nothing. Above that it is amber with a small penalty, never red: the one study we have compares two head positions and draws no line between them.
- You can move both points. Where an aero helmet's tail lies flat on your back, the outline cannot always tell back from helmet. Drag the top-of-back and top-of-helmet points into place and the reading follows.
- It asks you to check when it is unsure — "check the green point" — and a point you placed by hand clears the flag.
- Clips and photos agree. A video reads the helmet on five frames across the clip and takes the median, so the same rider no longer gets a head score on one and a helmet reading on the other.
- Off the aero bars, or with no helmet on, the reading is shown but not graded.
27 September 2026The report on a phone
Most reports are read on a phone, and on a phone the report was hard work.
- One column. The findings used to squeeze in beside the clip and the page scrolled sideways. They now sit under the video, full width.
- The score in two lines. What it is, then the score with its grade beside it — the findings start a screen higher.
- Less chrome under the clip. The player's controls went from five rows to three.
- Tiles that fit their text. A metric tile is no longer as tall as the tallest one beside it.
20 September 2026The band says what it grades
A runner wrote in: "Elbow 57–100°, optimal 80–95°, and you say in range?"
Fair. The band was right and the page was not. Your elbow swings thirty or forty degrees every stride — back at the drive, forward at the recovery — and the reference is about the carry, the angle the arm sits around on average. The status was graded on that mean all along. But the table put "Optimal" and "Status" beside the Low and High columns, which invited the comparison it was never about.
Now every band says what it is a statement about. In the joint table the Optimal and Status columns are labelled mean, and the verdict reads "mean in range". Under the video, a curve whose band is about the mean is drawn plain with a dashed mean line in the verdict's colour — the swing around it is the movement, not a fault. The bike knee at the bottom and the hip at the top keep their coloured dots at those moments, as before. Nothing changed in what is measured or how it is graded; what changed is that the page no longer asks you to compare a swing with a carry.
18 September 2026Two clips, in step
Before/after compared numbers. Now it compares the clips.
Compare plays your two overlays side by side, locked stroke to stroke or step to step. The earlier clip leads; the later one follows it through each cycle — the bottom of the pedal stroke on the left lands on the bottom of the pedal stroke on the right, the foot strike on the left on the foot strike on the right — whatever the cadence of each. Pause, step a frame, jump to the next stroke: both move together. It works the same for a left side against a right side.
This is not a clock. Two clips synchronized by time are in step for one stride and then never again; two at different frame rates drift apart in minutes. The lock is on the events the analysis already detected, so the follower can never be more than one cycle out, and when its cadence differs it runs a little faster or slower to keep pace — the readout says by how much. When one clip has fewer cycles it repeats them.
When the detected cycles of the two clips don't agree — a far-away clip where half the foot strikes were missed, say — the panel says so and plays the two from their own starts instead of pretending. And, as before: two clips are two camera setups. Compare the positions, not the pixels.
18 September 2026The video has a player now
The annotated overlay was a picture of the analysis: skeleton, chips, a phase bar, all burned into an mp4 with the browser's own controls under it. You could watch it. You could not ask it anything — where the knee is at 2.3 s, which frame the foot lands on, what the hip does across a stroke.
The overlay now plays inside a player that knows what it is showing. Under the video:
- Frame stepping (◀ ▶, or the arrow keys) and ¼× / ½× speed, so a
moment is found rather than paused at.
- A strip you can drag — on a run it shows every stance and swing; on a
bike, every other revolution is shaded, BDC to BDC.
- Jump to the next event: the next foot strike or toe-off, the next BDC or
TDC. These are the events the analysis detected — nobody has to mark them.
- The angle curve. One joint at a time, over the whole clip, with the
reference band shaded and a playhead that moves with the video. Click the curve to jump there. It is the same filtered series the table reads, so the number on the joint and the shape under the video cannot disagree.
Where a band belongs to one moment rather than the whole cycle — the bike knee at the bottom of the stroke, the hip at the top — the curve stays plain and the dots at those moments carry the colour. A knee at 90° mid-stroke is not out of range; it is mid-stroke.
While your clip is still in the browser, two more layers: the bare skeleton over your own footage, and the footage alone. The overlay render is what stays on the server; the original is yours, and the layers only exist for as long as you have it open.
Saved reports get the same player over their stored overlay — everything above except the layers.
18 September 2026The saddle, in millimetres
The report has always known which way your saddle should go — the knee at the bottom of the stroke is inside its band or it isn't — and has always said "about 5 mm", because a side view has no length in it.
It has one. Your ankle traces the crank, and a crank is a known length. The analysis already measures your thigh, your shin and the hip-to-pedal distance in units of that circle; name the crank and every one of them is real millimetres. From there the saddle change is one triangle: how much further (or nearer) the pedal has to sit from the hip for the knee to land in the middle of its band.
So the saddle verdict now carries a number: "lower ≈28 mm (±9) to mid-band, ≈20 mm to reach it". The fit plan says the same number, and so does the coach.
Under Setup & body details there is a crank length field. Without it 172.5 mm is assumed and the tile says so; a 165 mm crank makes the answer 4% smaller, so it matters less than it looks — but enter yours and the estimate is yours.
What the ± is for. The knee reading is the largest term: the same clip mirrored, which cannot change an angle, moves the knee at BDC by up to 3°, and that goes straight into the millimetres. A clip filmed from the drive side reads its crank a little small, and the tile says "less certain" on those. And when the knee is inside the verdict's own tolerance — "acceptable" — no direction is given: a number telling you to move a saddle the report just called fine would be the page arguing with itself.
One honest boundary: this is the change along the line from hip to pedal, measured on the leg nearest the camera. Near enough the seat tube for a first adjustment; ride thirty minutes and film again.
18 September 2026Forearm tilt leaves the road rubric
Forearm tilt is an aero-bar measure: how much the extensions and armrests point up, the thing the UCI regulates and the wind-tunnel papers describe. It was also being scored on the hoods and in the drops, against a band borrowed from the aero positions — and on the hoods your forearm slopes down to the bar, because that is where the bar is.
Three clips of one rider on the hoods showed what that did. On two of them the forearm read −42° and was quietly dropped as implausible; on the third it read −25°, passed, and scored 5 out of 100 against a target of 5–20°. Because the score is pulled toward its weakest component, that one measure took the clip from a B to a D. Nothing about the rider had changed.
Road positions — hoods, drops, casual — are now scored on eight measures, and the coverage line says eight. Aero positions keep the forearm as before. The fit plan no longer lists a hoods forearm as "already in range" either; it was praising geometry.
If a road clip of yours re-scores higher today, this is why. The angles themselves are unchanged.
18 September 2026Coach Notes — three things a coach sees, $12
Between the AI coach's notes and the $39 Expert Review there was nothing. Plenty of people want a person to look at their clip; fewer want the full review. Now there is a rung between.
Coach Notes. At the bottom of any report: a coach reads the analysis and your clip and writes back the first thing to change, in one line, and three notes — what a person sees that the numbers didn't. Written onto the report itself, usually within 72 hours: they sit under "Coach Notes", print with the report and go into the AI export as their own section, marked as written by a person. $12, once, on any plan.
What it is not, said before you pay: a review. No judgement on which numbers to trust, no four-week plan, no position trade-offs with their costs. Those are the Expert Review's, and the card says so.
The format is fixed on purpose — one line and three notes of about forty words each, enforced in the editor and on the server. That is what keeps the $12 product a $12 product and the $39 one worth $39, and it is what makes a coach's twelve minutes honest ones.
Supply is one person's time, so like the Expert Review it has a weekly cap and a pause switch; the card tells you before you click if this week is booked or paused.
Also this week, quietly: a coach's own profile and note editor — built for coaches who hand reports to athletes — are switched off until there are coaches asking for them. Nothing is lost; it is parked.
18 September 2026Angles, in the convention you read
Every joint angle here is measured as the angle between two segments: a straight knee reads 180°. That is how a goniometer on the frame reads it, and it is not how most people write it down. A physio writes knee flexion — 0° straight, 90° bent. A bike-fit table says "35–45° of knee extension at the bottom" and means 135–145° the way we measure it. The same joint, the same position, two numbers.
There is now a switch: Included angle or Anatomical. It sits over the joint-angle table and over the player's curve, and it changes every printed angle on the page — the tiles, the table, the curve, the chips on the skeleton layer — and the reference bands with them, so "35–42° flexion" is the same band as "138–145° included".
What it does not change is a verdict. Every grade is computed on the measured value before the number is written, and flipping the convention cannot move a reading in or out of its band. The annotated render keeps the included angle; the ankle on a bike (knee–ankle–toe) is not a clinical joint angle and stays as measured.
Also on the player, on the Skeleton layer: a trail — the path one joint has just travelled, fading into the past. The foot, knee or hip on a run; the ankle, knee or hip on a bike. A pedal circle that isn't a circle, a foot that lands ahead of the hip: things a number states and a trail shows. It is withheld on a clip whose camera was moving, because then the path in the picture is the camera's, not the joint's.
20 August 2026Your first report is the real one
The free tier showed a score and nothing else. That proves the thing runs; it does not tell you whether what's behind the blur is worth paying for, because you have never seen it. You were being asked to buy on trust.
Your first analysis now comes back as a real report. The findings — what we measured and what fired — and the coach's notes written about them, in full, with the numbers left on the frame. No card, no trial, nothing to cancel.
Two sections stay behind the blur: the joint-angle table and the corrective drills. Those are the ongoing product rather than the sample — the plan is what changes the next report, and one report has no next. The upgrade prompt now says exactly what it is holding back, counted: "3 corrective drills, all 7 joint angles we measured." Vague felt like a strange thing to follow a full report with.
After that, free analyses go back to the score-and-skeleton preview, three a month as before.
Some details, because the edges matter:
- A failed analysis doesn't burn it. Your first-ever clip is the one most
likely to be filmed from a bad angle, and it would have been the worst possible one to spend this on. If the run fails, the report is still waiting for you.
- Existing accounts get one too. You signed up when the free tier was a
score and a skeleton; it seemed fair to show you what we've been building rather than to quietly grandfather you out of it.
- The annotated overlay video isn't part of it — that stays a paid feature.
20 August 2026Your clip sticks around now
Until today, footage was deleted six hours after the analysis. That rule was written when a clip existed only long enough to be measured, and it quietly undermined the one thing on the pricing page with a human behind it: an Expert Review bought on Tuesday for Monday's ride had nothing left to watch. The report template literally opened by apologising for it.
Clips are now kept for 7 days on the free plan and 30 days on a paid one, and a clip with an Expert Review that has been paid for and not yet delivered is kept until the review ships, however long that takes. Your reviewer watches the movement now, not one frame of it.
Two things had to be fixed to make that work, and only one of them was storage. A saved analysis and the upload it came from were unrelated objects — your history entry had no idea which file produced it — so even footage that had survived would have been unfindable. Analyses record their upload from now on.
Deleting still means deleting. Because clips now live for weeks, "delete this analysis" had to start removing the footage too, not just the record of it. Deleting a single analysis, clearing your history, or deleting your account all take the video with them, immediately. The privacy policy has been rewritten with the real numbers rather than "within hours".
One honest limit: analyses from before today have no link to their footage, and that footage is long gone anyway. Reviews bought against them still work the way they always did — from the stored analysis and its annotated frame.
20 August 2026Unlock one report for $4
Flapp is used episodically. You change your saddle height, or your shoes, or come back from an injury — you film, you want that one answer, and you are gone for three months. A subscription is priced for a habit you don't have, so the honest read is that most people were never going to take one, and were being offered nothing else.
Any report you can't read now has a $4 button on it. That opens the joint angles and the corrective drills for that one analysis. No plan, no card kept, nothing to cancel.
What it doesn't open is everything that needs a second analysis to mean anything — trends, before / after, the overlay video. That isn't a paywall being coy: one report genuinely cannot be compared with anything. Comparison is what a plan is for, and we'd rather say so than pretend the two products are the same one at different prices.
Two other things changed with it:
- Ten free analyses a month, up from three. Uploading was never the
expensive part — a locked report runs no AI call and renders no video — and the second clip is the one you film after changing something, which is the interesting one. Reading is what costs money now, so the cap is just there to stop abuse.
- Subscribing opens everything you ever ran, including reports you looked
at through the blur months ago. If you've bought a couple of unlocks and then take a plan, you are not starting again.
And if you unlock two reports, we'll tell you plainly that a month costs about the same and comes with more — rather than letting you work that out on the third one and feel taken.
20 August 2026The Full plan means something now
For a while the Full card promised three things that did not exist: profiles for more than one bike, a branded PDF, and an Expert Review included with the plan. We took those claims off rather than leave them there. They are back, because they are now true.
Equipment profiles. Say which bike — or which pair of shoes — a clip was filmed on, right next to the clip. A road position and a TT position are both correct and differ on purpose, so averaging them into one history produces a trend line describing nobody.
Compare two setups, not just two weeks. Each setup averaged across everything filmed on it, side by side. This is the part a single bought report can never be: one setup cannot be compared with anything.
A report you can hand to a coach. Print or save as PDF, with the upgrade panels and the buttons taken out and a proper header put in — a document rather than a screenshot of a web page.
Your included Expert Review renews. It arrives when you subscribe and again each year. Previously the second year would have quietly arrived without it.
Two things that apply to everyone:
- The free plan keeps one equipment profile, and Enthusiast does too.
Keeping several is what makes the comparison possible, so that is where the line sits — rather than in an analysis quota nobody reaches.
- Expert Reviews are limited to a handful a week. Each one is about forty
minutes of a real person's attention, and selling more of them than that person can write would turn a premium thing into a queue and an apology. If a week is full, you will be told before you pay, not after.
19 August 2026One price list, and a Full plan that keeps its promise
Prices lived in four documents: the pricing screen, the billing toggle that rewrote the same three numbers, the landing page, and the Terms of Service. They drifted, and the drift landed somewhere it shouldn't have — the pricing footer said the amounts were in US dollars while the Terms said Canadian ones. That is a 37% gap between two documents you read before paying, and one of them is the agreement.
There is now one price list, and every page reads from it. The Terms table, the landing page and the pricing screen are all rendered from the same definition, so a price can no longer be updated in three places out of four. Everything is in USD, said the same way everywhere, and the Terms now explain what that means if your card is issued in another currency.
The Full plan now actually includes the Expert Review it advertises. It said "1 Expert Review included" while nothing in the product could grant one or let you claim it — you'd have had to email and ask, and nothing on our side would have agreed with you. The review is added to your account when you pay, the pricing screen offers to spend it instead of selling you another, and an unused one stays yours if you cancel: you paid for the term that included it.
At the same time, Full stopped claiming three things that don't exist yet (multi-bike profiles, a branded PDF, cross-profile comparison). They're being built, and each bullet comes back the day it's true rather than the day we hope it will be.
A few smaller corrections in the same pass:
- Expert Review is a card now, not a footnote. It was a thin strip under
the plans, which is a strange place for the only part of Flapp with a human behind it.
- The free plan admits to the cloud history it was already giving you. Sync
across devices has always worked on free accounts; the plan card said it didn't.
- Prices updated: Enthusiast is $9/month or $69/year, Full is $99/year, and
an Expert Review is $39.
18 August 2026Take your numbers to any AI
Your report has always had more in it than one screen can say. Now you can lift the whole thing out and keep the conversation going wherever you like.
Every analysis has an Export button. Copy it to the clipboard, or save it as .md or .json, and paste it into ChatGPT, Claude, Gemini or whatever you use. One file, your numbers, your data.
It is written to be read correctly, which is the hard part. Hand a chatbot a bare list of angles and it fills the gaps from its own assumptions — and the assumptions are wrong. Our joint angles are internal: 180° means a straight limb, while the research literature reports flexion measured from straight. Get that backwards and a knee at 140° reads as almost the opposite position. Running trunk lean is measured from vertical; cycling trunk angle from horizontal. The export states all of it up front, before a single number.
It also says what it does not know. Which side of you was measured and which was not. That a side view sees one plane, so pelvic drop and knee valgus are simply absent. How well each joint was tracked, frame by frame. Whether the quality gate tripped. And, at the end, the context no video can supply — your volume, injuries, goal race, the pace of the clip — so the model asks you instead of guessing.
Your own coach's notes travel with it, framed as prior work, so the next model builds on them rather than repeating them.
Available on paid plans, on every new analysis.
31 July 2026The caveat now comes with the score
A number with no caveat reads as a fact. That was the problem with the free report: it showed a score and nothing else — no angles, no coaching, nothing to argue with — so if the analyzer had only half-tracked you, or you'd filmed from an awkward angle, you had no way to know. The score looked equally confident either way.
Free reports now carry the analyzer's own verdict on the footage. If the quality gate tripped, you see why. If tracking was poor, if more than one person was in frame, if the clip looked like slow motion — you see that too, along with the confidence tier. None of it is behind the paywall, because it isn't a feature: it's the difference between a measurement and a guess.
Long clips say so. Past a certain length we sample every second, third or fourth frame to keep the analysis tractable. Joint angles don't care, but cadence, ground contact and flight time are counted in frames — so they get coarser. The app now warns you when you pick a long clip, and the report repeats it with the actual numbers. 5–10 s is still the sweet spot.
Your results are yours. A job link used to be readable by anyone who had it. Results are now tied to the browser that uploaded them — or to your account, if you're signed in — so a pasted link no longer hands over your footage.
You can delete your account yourself. Dashboard → Delete account, confirmed with your password, erases the account, every saved analysis and its stills, your usage history, any feedback you sent, and your order history. Previously this meant emailing us and waiting.
30 July 2026Tell us when the analysis is wrong
You can't verify a pose estimate or a 0–100 score by looking at it — you can only tell whether it matches the athlete you know yourself to be. That verdict is the one thing we can't measure for ourselves, so we're now asking for it.
Every report ends with "Does this match what you see?"
- Looks right is one click and you're done.
- Something's off opens the reasons — didn't track me, angles look wrong, score too low or too high, coaching too generic, overlay broken — plus a box to say it in your own words.
- Optionally, attach the annotated still from that analysis. It's a photo of you, so it is never sent unless you tick the box. It is also the only way to see what the analyzer saw when it got you wrong.
Every rating arrives with the analyzer's own read of that clip — how well it tracked you, how confident it was, which quality warnings fired. That's what turns "the score felt low" into a fixable bug: we can see whether the complaints cluster on clips the analyzer already knew were marginal, or on clips it thought were perfect.
We read all of it. We don't reply to every message, but it decides what gets fixed next — and you'll see the result here.
30 July 2026Queues, receipts, and clips that don't linger
Housekeeping, mostly — the kind you only notice when it's missing.
Your clip now tells you where it is in line. Analysis is heavy work, and until now several clips arriving at once all pretended to be processing while they queued behind each other. The app now runs a fixed number at a time and says so plainly: "2 clips ahead of yours." If we're genuinely at capacity, the upload is refused up front, with your file kept ready for one-tap retry — instead of being accepted and left to time out.
Uploads are deleted on a schedule, not by luck. Your video and its overlay were always meant to be temporary, but the only thing that actually removed them was a server restart. They now expire on a timer, whether or not we deploy.
Expert Review leaves a receipt. A one-time review doesn't change your plan, so there was nowhere in the app that showed you'd bought one. Purchases now appear on the pricing page with their status, from payment received through to delivered.
No more accidental second subscription. Picking a different plan while already subscribed now opens billing so you can switch, rather than starting a second subscription alongside the first.
Fixed: free reports said the overlay video "couldn't be rendered" when it was simply a paid feature that had never been attempted. The progress read-out no longer stalls other people's while it's being written.
29 July 2026Plans, quotas and a free tier that's honest about it
Flapp now has paid plans, and a free tier that shows you exactly what it is rather than pretending to be the full product.
- Starter (free) — 3 analyses a month: your score, your grade and an annotated frame.
- Enthusiast — 30 analyses a month, with the measurements, AI coaching, training plan and the annotated overlay video unlocked.
- Full — 120 analyses a month.
The free tier is deliberately a teaser, not a crippled version: you get the skeleton and the score, and the report tells you plainly which sections a paid plan unlocks instead of showing you empty panels. Checkout and plan management run through Stripe, and you can cancel from your own billing portal at any time.
21 July 2026A share card actually worth posting
The share card was a wall of metric tiles that nobody would post to Strava. It's now built around the one thing that carries: your annotated photo, with the score ring sitting on the seam and your coach's one-line takeaway underneath.
- The photo is the hero, cropped by its actual content rather than a fixed guess, so you don't lose your head to the frame edge.
- Metric tiles are gone; the score and the takeaway carry the card.
- Generated entirely in your browser — the image never touches our server.
Also: the app shell is now served with revalidation headers, so a new release reaches you on the next load instead of whenever your browser feels like it.
20 July 2026A phone-first pass over the whole app
You film on a phone, so you read your results on a phone. This release tightened that path end to end:
- One-row tab bar at the bottom instead of a cramped wrapped nav.
- Saved-analysis cards are denser, so more of your history fits on screen.
- A back-to-Home button on every sub-view, so you're never stuck.
- Clear all in History now asks first — it used to wipe your history on a single mis-tap.
Plus a new Academy article on trunk lean (run tall, not folded), and the coach's knee verdict is now grounded in phase-specific optima instead of one average target for the whole stride.
19 July 2026Slow-motion clips no longer produce wrong numbers
If you filmed in slow motion, your phone's frame rate lies about time — and anything time-based (cadence, ground contact, flight time) came out wrong without saying so.
Now the analyzer detects it. When the time base can't be trusted, those metrics are withheld and explained rather than shown wrong, and the report tells you plainly that a normal-speed clip is needed for them. Your joint angles are unaffected — they don't depend on the clock.
A missing number you can see is worth more than a confident number that's wrong.
17 July 2026Your training plan lives on as a checklist
A drill list you read once and forget is worthless. The corrective drills from your analysis now follow you: they land in your dashboard as a checklist you tick off, so the plan survives past the page you read it on.
Also in this release:
- Pedal-phase picker on photo analysis. Hip and ankle angles mean completely different things at the top and bottom of the pedal stroke. If we can't tell which one your photo caught, you now tell us — and the score follows.
- Joints whose verdict depends on pedal phase are no longer judged blind.
- History loads faster: annotated frames are fetched as cards scroll into view instead of all at once.
16 July 2026Aero & watts: what your position actually costs you
Cycling analyses now open with an Aero & watts panel. Instead of just telling you your trunk angle, it translates your position into the thing you care about: watts of drag, and the time that costs you over a distance.
- A watt range rather than a single fake-precise number — the estimate comes from your trunk angle, so it deserves a range.
- A multi-lever breakdown: torso, head tuck and elbow position scored separately, so you know which one to work on first.
- Numbers personalised to your speed, framed as time saved.
This is a relative read, not a wind-tunnel measurement — it tells you whether a change helped, not your absolute CdA.