Your camera is your form coach.
A real AI coach that lives entirely on your phone — reading your form, training and nutrition in real time. No cloud, no account, no subscription.
- ✓100% on-device AI
- ✓Works offline
- ✓No subscriptions
- ✓No ads or trackers
- ✓English & Danish

A category of one
A complete AI coach that runs on your phone
Most fitness apps do one thing, then ship your data off to a server to do the thinking. SmartSight AI runs the whole coaching brain — form scoring, voice, nutrition and physique — right on the device in your hand. It's instant, it works anywhere, and because it's all in one place, it finally sees your whole training picture at once.
A real AI coach in your pocket that works on a plane, in a basement gym, or with the SIM pulled out — no connection required.
One app, not a stack
Replaces four subscriptions that don't talk to each other
To match SmartSight you'd normally stack a form-check app, a workout logger, an AI coach and a macro tracker — separate logins, separate clouds, up to ~$25 a month combined, none of them sharing what they know. SmartSight is all of them in one place, on your device, where the coaching finally sees the whole picture.
Form checker
Camera rep-by-rep form scoring
a standalone form-check app
Workout logger
Sets, PRs, streaks, trends, programs
a dedicated lifting tracker
AI coach
Voice coaching + plan generation
a subscription AI coach
Macro tracker
Adaptive TDEE, meal plans, barcode
a separate nutrition app
Physique tracker
Photos, body-fat, measurements
a body-progress app
Readiness
Recovery from sleep, HR & load
a recovery-wearable app
Just one app
SmartSight AI
All six, sharing one private brain on your phone — so the coaching sees your training, food, recovery and physique together.
4+ apps
1
one home screen icon
~$25 / mo
Pay once
no stacked subscriptions
Several logins
No account
nothing to sign up for
The cloud
On-device
your data stays put
Compared to the leading apps in each category, SmartSight matches the core of what they do — then makes it private, offline, and one-time. Most apps do one slice well; SmartSight does the whole picture.
How it works
Up and running in under a minute
No account to create, nothing to configure. Open the app and start training.
Point your camera
Prop your phone and pick a lift. On-device pose tracking finds you instantly — no sign-up, no setup, no wearables.
Just lift
Train like you always do. SmartSight scores every rep for form, depth and tempo in real time, right on your phone.
Get coached
See what's working, what's stalling and exactly what to do next — spoken aloud and fully offline.
See it in action
Real-time coaching, watch it work
Point, lift, and get scored rep by rep — all on-device, no connection needed.
AI Form Coaching
Fix your form on every rep — automatically
Point your camera and lift. On-device pose tracking scores every rep, so you know your form is dialed in — no PT, no mirror guesswork.
- ✓Per-rep form score with instant feedback
- ✓Tempo & time-under-tension tracked automatically
- ✓Rep gallery: replay your worst frame, compare against your best
- ✓Form-trend cards reveal fatigue and decay across a session

On-device AI Coach
A coach that reads your whole picture
A Gemma-class model runs entirely on your device. It studies your workouts, PRs, volume, recovery and nutrition, then tells you what's working, what's stalling, and what to do next.
- ✓“What's working / what's stalling / what to do next” digests
- ✓Ask anything: “why did my squat stall?” — answered offline
- ✓3 coaching tones × 4 goal focuses (muscle, fat loss, strength, general)
- ✓Runs locally — your training data never leaves the phone

Pocket Mode + Voice
Train hands-free, screen off
No camera, no problem. Pocket mode counts your sets with voice commands and spoken callouts, with full lock-screen controls and a live home-screen widget.
- ✓Voice commands: “add rep”, “end set”, “skip rest”
- ✓Lock-screen controls + live home-screen widget
- ✓Offline speech recognition & text-to-speech
- ✓English & Danish, with spoken rep callouts (Pro)

Nutrition & Macros
Fuel that adapts to your body
Log calories and macros in seconds. Targets are personalized from your stats and adapt to your real maintenance as your weight trends — cut, maintain, or bulk.
- ✓Adaptive TDEE learns your true maintenance over time
- ✓Barcode scan, manual entry & a nutrition-label scanner — building your own offline food library
- ✓AI-generated 7-day meal plans, on-device (Pro)
- ✓Color-coded macro adherence, water tracking & widget

Physique & Progress
See the change you're building
Track bodyweight, measurements and progress photos. An on-device vision model estimates body fat from a photo, and PRs, streaks and trends keep you honest.
- ✓Side-by-side progress-photo comparison
- ✓AI photo body-fat estimate, fully on-device (Pro)
- ✓PRs: estimated 1RM, best volume, most reps
- ✓Streaks, trend charts & strength standards

Routines & Programs
Programs that progress with you
Start from a proven template or let the AI build a split for you. Auto-progression nudges weight and reps based on your form and effort, across multi-week mesocycles.
- ✓AI routine builder: PPL, upper/lower, bro split, Arnold, full body
- ✓Auto-progression from form score + RPE
- ✓Multi-week programs with scheduled deload weeks
- ✓Custom routines with drag-to-reorder days

Your whole gym setup, in one app.
Free to start. Pro is a one-time $60 — every future update included.
Everything else
One app for the whole journey
Beyond coaching, nutrition and physique tracking — the details that keep you consistent.
Goals & Readiness
Set lift, bodyweight & measurement goals. Daily check-ins on energy, soreness and sleep suggest whether to push or recover.
Weekly Insights
Sessions, sets, volume and your top lift each week — plus muscle-group balance that flags neglected groups.
Exercise Library
100+ built-in lifts with instructions, plus downloadable packs and your own custom exercises.
Wearables & Health
Health Connect sync, BLE heart-rate monitors, and a Wear OS companion for live session state.
Home-screen Widgets
Nutrition ring, live pocket-session status, and your latest coach message — all without opening the app.
Smart Reminders
A streak-at-risk nudge when you haven't trained today, plus rest-timer cues with haptics.
One-tap Backup
Export everything — sessions, photos, nutrition, profile — to a single local file. Restore anytime. No server.
Bilingual
Fully localized in English and Danish, including exercise names and voice commands.
A look inside
Built to feel effortless

Start a session in two taps

Your AI coach, in your pocket

AI meal plans, generated on-device
Model updates
The coach itself gets better every few weeks
The AI coach isn't a static file shipped once and forgotten. It's a custom-trained model that gets retrained, scored against the version it would replace, and only swapped in when the new one measurably wins. Here's the log — every release below shipped to the app for free.
Open model card on Hugging Face
Architecture, training setup, evaluation notes and every published checkpoint — read the full technical detail for the model that runs inside the app.
- Release 18Shipping now
It stops lumping different people onto the same number
The headline here isn't accuracy, it's separation. We measure the widest range of true body-fat values that all come back as the same single answer — lower means the model is telling people apart instead of parking them in a bucket. It nearly halved, from 11.9 points to 6.1: where the old model handed one number to a group spanning almost twelve points of real body fat, that group is now about six points wide. Coach questions are the bigger half of the win — 125 and 126 out of 128 across two independent runs, against 116 and 116 — and it invented zero readings for photographs with no body in them. Half-point answers (14.5% rather than 14%) are back after a tooling defect had stripped them out of an earlier round. Honest: average error moved 2.11 → 1.76 points, but our own floor for telling two models apart is 0.9, so that gain sits inside the noise and we are not claiming it. The round also failed the test it set itself in writing beforehand — the training-corpus change it was built to prove didn't prove itself, and the better model came from somewhere else in the round. Lean bodies still read low, and slightly more so than before.
11.9 → 6.1 pprange collapsed onto one answer116 → 125 of 128coach questions0invented readings - Release 17
A small step, and the reasons it's small
Invented readings on photographs with no body in them fell from 3 of 58 to 2. On 21 real photographs it lands closer to the truth than the model before it on 18 of them, and it hedges toward the middle less — it is willing to say a high number is high and a low one low. Coaching text is unchanged. Honest: it got worse on the largest photo set, where average error went 2.12 → 2.99 and it reads about 1.9 points low; if your reading looks a couple of points under what you expect, that is this. And the entire margin over the previous model came down to a single no-body image, because four of our five test sets are now maxed out and no longer tell us anything. That is a weakness in our testing, not a strength of the model — harder test photographs are being collected.
18 of 21photos read closer than before3 → 2 of 58invented readings - Release 16
Better labels, and the biggest accuracy gain so far
The change was the data, not the method. Every real photograph in the set was re-judged: 163 labels moved, by an average of 1.2 points and by as much as 5.6. Nine images that two independent detectors both flagged as computer-generated were dropped from training entirely. The 123 labels that come from an actual DEXA scan or a scale were left untouched — a measurement is never overwritten by an estimate. Average error fell from 2.58 to 2.08 points, the largest single improvement this project has recorded, and invented readings for photos with no body in them fell from 12 of 58 to 3. Honest: the experiment this round was actually running — whether feeding it a higher proportion of real photographs beats computer-generated ones — failed outright. The arms trained with more real photographs came out slightly worse, the opposite of the prediction. The improvement came from the better labelling, which was applied to every arm equally and was therefore invisible to the experiment itself; we nearly filed the round as a failure and missed the win.
2.58 → 2.08 ppaverage photo error12 → 3 of 58invented readings - Release 15
It can finally say “that isn't a person”
Photograph a wall, a sofa, a pet or a plate of food and the previous model answered with a confident body-fat percentage every single time — 30 out of 30. This one declines on 14 of those 30, and on plain grey or noise it went from answering all 20 to answering 8. Shown a grey rectangle, the old model said “12% — the upper abs are clear”; this one says it cannot see a person in the image. Prompting could not fix this: instructed to refuse, the old model ignored the instruction and returned byte-identical answers. What fixed it was ordinary real photographs of walls, hedges and pavements — models taught to decline using only synthetic grey and noise were measured to do no better than before. Also fixed: the same body on a different background used to move the reading by 10 points, and now moves by at most 4. Improved, not solved — it still answers with a percentage for 16 of the 30, and more real photographs is the known fix.
0 → 14 of 30non-body photos refused10 → 4 ppworst background swing - Release 14
Heavier physiques stop being read as lighter
The read stopped compressing the top of the range: a 24% physique the old model read as 21 now reads 24, and a 26% it also read as 21 now reads 24. Average error across 17 photographs fell from 2.0 to 1.7 points, and coach questions held level. The lean end did not improve at all — a measured 5.9% still reads 8%, an 8.8% still reads 8%, a 10.0% still reads 8%. The old model's good lean score was never accuracy; it was answering 8 to almost anything lean. Closing that needs more DEXA-measured lean subjects, not another training round.
2.0 → 1.7 ppaverage photo error21 → 24how a true 24% physique reads - Release 13
Yesterday works, and the photo read tracks the real range
“What did I train yesterday?” went from 24 right out of 32 to 32 out of 32. The old model had a consistent off-by-one — it treated the last day in the week as yesterday instead of today, then described that wrong day perfectly accurately, which is what made the mistake so hard to spot. On 37 ordinary phone photos it had never seen — bathroom mirrors, bedrooms, kitchens, not studio shots — error on lean physiques fell from 2.9 to 1.9 points, and it stopped answering “12%” to 16 of them. Questions about anything older than the 7-day window are now answered correctly every time: it says it cannot see that far back instead of inventing something. One known regression, fixed in the next release: asked “I trained on Wednesday, does that count for this week?”, it sometimes said a logged past day doesn't count.
24 → 32 of 32“what did I train yesterday?”118 → 123 of 128coach questions - Release 12
The photo read starts looking at the photo
Until this release the body-fat read was, in effect, a constant. The previous model answered 18% for all 42 test photos — and 18% for a plain grey rectangle, for pure noise, and when handed no image at all. It was never looking at the picture. The cause was that every round until then trained on text only, which teaches the half that writes the answer to ignore what the eyes send it; putting photo examples into the text training fixed that. Correction, recorded the same day because the headline claim was wrong: the photo test set turned out to sit inside the training set, so the best numbers measured memory rather than sight. On a man photographed twice, at roughly 8% and 12%, neither picture ever seen before, this model answered 14% for both. It moved the constant from 18% to about 12-14%; it did not remove it. The text side improved on its own, with no photographs involved.
110 → 112 of 128coach questions18% → 12-14%where the constant moved to - Release 11
It reads the right day of your week
Asked “what did I train yesterday?”, the old model answered about today and called yesterday empty, 18 times out of 32. Fixed with training that asks about today and yesterday in one breath, plus examples teaching where the 7-day window stops, so the new confidence doesn't invent a session from a fortnight ago. Before promoting it we measured how much the same model's score swings between runs — which is the only reason we can say this gain is real and an earlier candidate's was luck. Cost, honestly: conversational follow-ups slipped from 16 of 24 to 15 on both runs, so it is a real trade rather than noise. Body-fat reads above 25% got worse — outside the range this app's users occupy, and recorded because under-reading a heavier person is the dangerous direction.
14 → 27 of 32reads the right day32/32no sessions invented outside the week - Release 10
It stops dropping your own numbers when you push back
When the data the app supplies disagreed with something you said, the coach used to fold. Told “my readiness has been 95 all week” on a day the app recorded 44, the old model answered “95 is a solid score — that means you're feeling fresh”. On a purpose-built 64-case probe, handling of those conflicts went from 16 of 32 to 26. The fix shipped alongside 48 deliberate counter-examples where you name something the app cannot see: without those, teaching a model to speak confidently about what the data contains teaches it to speak just as confidently about what it lacks. Where the old model invented “right in the middle of where it usually sits”, this one says it can't tell without a few more days logged. The photo body-fat read is unchanged, not fixed — it still reads a DEXA-verified 7% subject at 15.5%.
16 → 26 of 32data conflicts handled0user-visible defects - Release 9
A coach that notices when something doesn't add up
Built for conversations rather than one-off questions, against a new 24-case test where the fluent, agreeable answer is the wrong one. The old model failed 16 of them; this one fails 8, and it repeated on a second independent training run. It catches you contradicting yourself, works out which exercise “the other one” means, handles training you did but never logged instead of telling you to go and do the session you just finished, and does the arithmetic — 5 sets of 5 at 100 kg is 2,500 kg, not 250. Two of those are safety rather than manners: the old model said “sounds like a plan, go for the PR tomorrow” one turn after the user reported knee pain, and called a resting heart rate of 28 a good sign for recovery. This one does neither. Cost, stated plainly: answers come back about 7% slower, on both runs, and that trade was made knowingly. Still open — it accepts claims it should question about one time in four.
8 → 16 of 24conversation traps handled7%slower answers, traded knowingly - Release 8Packaging fix
The phone had only been seeing half the picture
No retraining — the coach's answers are the previous release's, byte for byte. What changed is one setting in how the model is packaged: every photo ever sent to it had arrived at half the detail it was built to read, under half the pixel area. That hurt reads of male physiques far more than female ones, because what separates one body-fat band from the next on a man is fine texture a few pixels tall, and shrinking an image blurs the fine cue away while leaving the coarse one intact. Fixed and confirmed on 154 held-out photos, repeated on a second run. Meal photos improved too — all of them parse now, and the calorie error fell. Cost: photos take longer to analyse, up to 2.6x on large body-fat shots, which is a deliberate trade of speed for accuracy. Worth saying plainly — fourteen training rounds had tried to teach the model to read men better and every one of them failed, because the fault was never in the training data.
2xthe picture detail the model now sees98% → 100%meal photos read cleanly0changes to the text coach - Release 7Coach + vision merged
One model that sees too — at 44% of the download
The coach and the separate vision model became a single file. Two downloads totalling 6.3 GB are now one at 2.8 GB, and the crashes that came from swapping between two engines mid-session went with them. The last known defect went too: meal plans that quietly slipped in a food you'd told it to avoid — 5 plans out of 36 before, none now, once the training examples were matched to the exact format the app actually sends. Photo body-fat reads improved as well, but still tend to read a band high — treat that number as a trend line, not a measurement. The text side reaches installed apps now; the merged vision half arrives with the next app update.
6.3 → 2.8 GBto download5 → 0plans out of 36 with an avoided food0problems across 89 held-back checks - Release 6
Challenges that survive being generated, and Danish that stays Danish
Two wins in one release. Rebuilt on a base that holds up better when it's compressed to run on a phone, which fixed AI challenges that used to come back malformed three times out of four — and made answers a little quicker on the way. Then Danish got a proper pass: macros read “kulhydrater og fedt” instead of “carbs and fat”, challenge titles come back in Danish rather than English, and every meal reply now carries its nutrition summary. Still honest about the gaps — Danish word endings are occasionally off, and follow-ups about a past activity you never logged got slightly worse.
4/4challenges generated cleanly (was 1 in 4)7/7meal replies with their nutrition summary - Release 5
Realistic challenges, in the language you asked in
Fixed two real bugs in AI-generated challenges: targets for low-frequency goals were wildly out of reach (it once asked for 150 progress photos in six weeks from a standing start), and a challenge requested in Danish sometimes came back in English. Routine and meal-plan generation, dietary rules and equipment constraints all held exactly where they were.
2 bugsfixed, none introducedDanishgrammar hand-checked - Release 4
Dietary rules it actually respects
Closed a genuine gap where a “vegetarian, no nuts” meal request came back with peanut butter in it. Taught it the correct technique for face pulls and planks — neither had a full worked example to learn from before — plus the difference between a squat and a hip thrust. Won clearly on both a lenient and a strict count of mistakes.
3 runsindependently tested across0new problems introduced - Release 3Speed update
The same model, 88% faster
No retraining at all — the exact same coach, packaged for the phone a smarter way. Answers come back 88% faster and the download is 85MB smaller. An early single run hinted this might cost quality; a proper repeat test over 300+ responses showed that was random noise, and quality is statistically unchanged.
88%faster responses−85MBsmaller download300+responses re-tested - Release 2
Form answers back to a perfect record
Exercise-form questions returned to a zero-error record — the version before this one got direct form questions wrong four times out of five. Workout and meal-plan output stopped coming back garbled or duplicated. Across the same 52-question test set: 12 mistakes before, 2 after.
12 → 2mistakes on 52 questions0mistakes on form questions - Release 1
The first custom-trained coach
The first version trained on our own coaching data to beat the stock model it replaced — shorter, sharper answers on general advice with the same accuracy. It still tripped on exercise-form questions and long plan generation, which is exactly what the next release went after.
- BaselineBefore any training
Google's stock model, untouched
An off-the-shelf Gemma model with no fitness training of its own. Every release since has had to beat it as well as the version it replaces — and it's still the yardstick each new candidate is measured against.
No model ever ships on vibes. Every candidate is scored against the one it would replace across a large fixed question set, repeated over several independent runs — if it doesn't clearly win, it doesn't ship, and it doesn't appear above.
How the model reaches your phone
Owning your AI outright raises fair questions — how big is it, how does a better one get to you, and what leaves the phone when it does. The short answers:
One download, once
The coach model is a single ~2.8 GB file the app fetches after install — it isn't baked into the app download. That one file now contains the vision model too, which used to be a second, larger download: the pair came to 6.3 GB before. Two files are actually published, and the app picks between them on its own — a build already on your phone keeps fetching the text-only coach it was built for, and the merged file arrives with the app update that knows how to use it, because handing an older build the combined file would only make its download bigger. Either way it waits for Wi-Fi by default and asks first before touching mobile data.
Better models arrive free
When a new coach model wins its evaluation, it reaches you through a normal app update — the same free updates your one-time purchase already covers. No separate model subscription, no re-purchase, no “Pro 2.0”. A new model is a fresh download, and it waits for Wi-Fi just like the first one did.
Nothing about you goes out
A model download is a plain file fetch from a public Hugging Face repo — no account, no telemetry, nothing about your training, photos or meals sent before, during or after. Pull the SIM out afterwards and the coach keeps working exactly the same.
What your phone needs
About 6 GB of RAM and a recent mid-range or better chip. The coach runs GPU-accelerated — roughly twice as fast as the same model on the CPU alone — and the Play Store only offers the app to phones that clear that bar, so you can't buy into a device that runs it badly.
What's coming
SmartSight 2.0 is in active development
The bet behind every update is the same: take the headline features people pay monthly subscriptions for, and make them run fully on your phone instead. Here's where SmartSight is heading — all included free with your one-time purchase.
The 2.0 flagship
In progressA coach that remembers you
Your AI coach gains a long-term memory and a proactive side — a morning check-in that reads your recovery, and a hands-free mode that talks you through an entire session, set by set.
Frame-by-frame form
Camera coaching expands to bar-path tracing, depth and range-of-motion scoring, and tempo on every rep — and it learns to recognise the lift on its own, so there's nothing to select.
Snap your plate
Photograph a meal and get calories and macros in seconds, with sharper portion estimates and a quick check when something looks off — all worked out on-device.
Programs that auto-regulate
Training plans that read your fatigue and effort to set the weight for you, build full multi-week blocks from your own history, and add a dedicated cardio and conditioning mode.
On the horizon
Coming nextA daily readiness score
One clear number from your sleep, resting heart rate and recent training load — so you know when to push hard and when to hold back.
Coaching on your wrist
A fuller Wear OS app, an Apple Watch companion, and support for smart scales and heart-rate straps — enough to run a whole workout from your wrist.
Make it your own
A real platform for your own data: custom voice automations, build-your-own dashboards, deep links, and light and AMOLED themes.
Share without the cloud
Package a routine or a form clip to send to a friend or coach by file or QR code — opt-in and export-based, never at the cost of your privacy.
The big bets
ExploringA coach you can talk to
Natural back-and-forth conversation mid-set — speak to your coach and it speaks back in real time, still entirely on-device.
A model that learns you
Today the coach adapts by remembering — it keeps typed facts it picks up from your chats (injuries, equipment, preferences) on your phone and feeds them into every answer. The bet beyond that is genuine adaptation on the device itself: a small personal layer trained on your own history overnight, on your phone, never on a server. Still exploratory, and it will never be the kind of “personalisation” that means uploading you.
Gym tech from one camera
Velocity-based training, group tracking and AR coaching overlays — the kind of gym tech that used to cost thousands, free and offline.
This is a living roadmap, not a set of release dates. The privacy promise never changes: no mandatory cloud, no account required to train, and nothing leaving your device.
Your data never leaves your phone
SmartSight AI is private by design. Everything that makes it smart runs on-device — so you get a real AI coach without handing your body to the cloud.
✓On-device AI
The coach, voice recognition, speech and body-fat vision all run locally. No server ever sees your data.
✓No accounts, no cloud
There's no sign-up and no cloud sync. Your workouts, photos and meals live only on your phone.
✓No ads, no trackers
Nothing is sold, profiled or monetized in the background. The app respects your attention.
✓Opt-in networking only
The only optional network calls are an anonymous barcode lookup — which you can skip entirely by scanning labels or adding foods offline — and a one-time AI-model download that sends nothing about you.
Pricing
Pay once. Yours forever.
The core app is free. Unlock the AI extras with a single one-time purchase — every future update included, never a subscription.
Free
The core app, forever.
- ✓Camera form coaching, rep by rep
- ✓Workout tracking, PRs, streaks & trends
- ✓Body progress photos & measurements
- ✓Nutrition & macro tracking
- ✓Pocket mode (manual)
- ✓Goals, readiness & weekly insights
Pro
Pay once. Every future update included.
Less than 3 months of the ~$25/mo app stack it replaces.
- ✓Everything in the free app
- ✓Voice coaching & real-time form cues
- ✓Ask-your-coach Q&A during workouts
- ✓Spoken rep callouts
- ✓AI 7-day meal-plan generation
- ✓AI photo body-fat read
- ✓All future updates, free for life
FAQ
Questions, answered
No. The AI coach, voice recognition, speech and form analysis all run on-device, so the app works fully offline — in the gym, on a plane, anywhere.
Yes. There are no accounts and no cloud sync. Your workouts, photos and nutrition stay on your phone. The only optional network calls are an anonymous barcode lookup and an optional AI-model download.
Never. Pro is a single one-time purchase that unlocks everything for life. No monthly fees, no ads, no trackers.
Yes. Your one-time purchase includes every future update at no extra cost — the AI model itself included. SmartSight is actively developed, with new features and improvements shipped regularly — no upgrade fees, no “Pro 2.0” paywall, ever.
The coach model is a single ~2.8 GB file downloaded once after you install the app, from a public Hugging Face repo you can inspect yourself. That one file now handles both text and photos — it replaces a coach-plus-vision pair that came to 6.3 GB. Two files are published and the app chooses the right one for its version, so an installed build is never handed a download it can’t use. The app prefers Wi-Fi and asks before using mobile data.
Yes, and it costs nothing. The coach model is retrained and benchmarked against the version it would replace — it only ships if it measurably wins. Every improvement so far has reached users as a free app update. See the model log for the real release history.
Android phones today. The app is built on a shared Kotlin Multiplatform core, with iOS planned. A Wear OS companion is available for live session state.
English and Danish — including exercise names, prompts and voice commands.
Just your phone's camera. Optionally pair a Bluetooth heart-rate monitor or a Wear OS watch.
Train smarter. Stay private.
Your AI form coach, nutrition tracker and physique log — all on your phone, all offline. No subscription, ever.
