u/escapethematrix_app

This app keeps you active with form feedback/analysis and automatic rep counting. All "On-Device", your data never leaves your phone.

This app keeps you active with form feedback/analysis and automatic rep counting. All "On-Device", your data never leaves your phone.

Learnings: Tired of manual logging of reps/durations. Most fitness apps in this space either need a subscription to do anything useful, require sign-in just to get started, or send your workout data to a server. This one does none of that.

Platform - iOS 18+

Tech Stack - SwiftUI, Mediapipe Vision Framework, Apple Vision Framework

Development Challenge - The app shows a live range-of-motion (ROM) bar on every workout so users see where they are in each rep and when they’ve crossed the “count” line. The main challenge was keeping that bar in sync with the rep-count logic and with the rest of the UI.

Pose data (e.g. elbow or knee angle) comes from the vision pipeline and has to map to a single progress value (0-1) that drives both the bar position & the thresholds. If the bar used a different scale or direction than the logic that decides “rep counted,” the yellow line would sit in the wrong place and feel broken. I fixed that by sharing one mapping function (angle -> progress) between the ViewModel (for rep counting) and the SwiftUI ROM bar view (for drawing the fill and threshold lines), and by defining the threshold angles in one place so the yellow/orange markers are always drawn at the same progress values used for counting.

There’s also layout alignment: the bar is overlaid on the camera with a bottom status card (“Get ready” / “Active” / “Get in position”). I used a fixed bar height and bottom padding so the bar stays above the status card and doesn’t get covered, and kept the same leading padding across workouts so the bar feels consistent. Smoothing the pose stream (e.g. lightweight smoothing in the ViewModel) before feeding the bar reduced jitter so the indicator doesn’t fight the rep logic. Overall, treating “one source of truth for progress + shared layout constants” as the rule made the ROM bar feel reliable and predictable.

AI Disclosure - self-built

Feedbacks - Share your overall feedback if you find it helpful for your use case.

What you get:

- Gamified Dynamic ROM (Range Of Motion) Bar for every workouts.
- Support for tripod/shelf/on-ground positioning of the device (as long as subject is fully visible in the front camera, for smooth workouts experience)
- Privacy Modes (Blur My Face, Focus On Me)
- All existing 10 workouts. (More coming soon..)
- Widgets: Small, Medium, Large (Different data/insights)
- Metrics
- Activity Insights
- Workout Calendar
- On-device Notifications

Institution Mode (Gyms, Studios, Schools, etc) (For commercial businesses - Premium only) includes:
- Touch-less Kiosk Mode, Live Leaderboards & Stats, XP & Levels, Challenges (Custom), Milestones That Hit Different.

Pricing (includes 7-day free trial):

(Note: All CORE features are FREE for all, forever in "Continue without Signing in" mode.)

- Lifetime - $49.99 (Pay once, yours forever)
- Monthly - $4.99
- Yearly - $29.99 (Save 50% vs Monthly)

Anyone who is already into fitness or just getting started, this will make your workout experience more fun & exciting.

u/escapethematrix_app — 18 hours ago
Image 1 — Your Apple Watch tracks 20+ health metrics every day. You look at maybe 3. I built a free app that puts all of them on your home screen - no subscription, no account.
Image 2 — Your Apple Watch tracks 20+ health metrics every day. You look at maybe 3. I built a free app that puts all of them on your home screen - no subscription, no account.
Image 3 — Your Apple Watch tracks 20+ health metrics every day. You look at maybe 3. I built a free app that puts all of them on your home screen - no subscription, no account.

Your Apple Watch tracks 20+ health metrics every day. You look at maybe 3. I built a free app that puts all of them on your home screen - no subscription, no account.

I wore my Apple Watch for two years before I realized something brutal: it was collecting HRV, blood oxygen, resting heart rate, sleep stages, respiratory rate, training load - and I was checking... steps. Maybe heart rate sometimes.

All that data was just sitting there. Rotting in Apple Health.

So I built Body Vitals - and the entire point is that the widget IS the product. Your health dashboard lives on your home screen. You never open the app to know if you are recovered or not.

What my home screen looks like now:

  • Small widget - four vital gauges (HRV, resting HR, SpO2, respiratory rate) with neon glow arcs. Green = recovered. Amber = watch it. Red = rest.
  • Medium widget - sleep architecture with Deep/REM/Core/Awake stage breakdown AND a 7-night trend chart. Tap to toggle between views.
  • Medium widget - mission telemetry showing steps, calories, exercise, stand hours with Today/Week toggle.
  • Lock screen - inline readiness pulse + rectangular recovery dashboard.

I glance at my phone and know exactly how I am doing. Zero taps. Zero app opens. It looks like a fighter jet cockpit for your body.

"Listen to your body" is terrible advice when you cannot hear it.

Body Vitals computes a daily readiness score (0-100) from five inputs:

Signal Weight What it tells you
HRV vs 7-day baseline 30% Nervous system recovery state
Sleep quality 30% Hours vs optimal range
Resting heart rate 20% Cardiovascular strain (inverted - lower is better)
Blood oxygen (SpO2) 10% Oxygen saturation
7-day training load 10% Cumulative workout stress

These are not made-up weights. HRV baseline uses Plews et al. (2012, 2014) - the same research used in elite triathlete training. Sleep targets align with Walker (2017). Resting HR follows Buchheit (2014). Every threshold in this app maps to peer-reviewed exercise physiology. Not vibes. Not guesswork.

Then it adds your VO2 Max as a workout modifier. Most apps say "take it easy" or "push harder" based on one recovery number. Body Vitals factors in your cardiorespiratory fitness:

  • High VO2 Max + green readiness = interval and threshold work recommended
  • Lower VO2 Max + green readiness = steady-state cardio to build aerobic base
  • Any VO2 Max + red readiness = active recovery or rest

Did a hard leg session yesterday via Strava? It suggests upper body or cardio today. Just ran intervals via Garmin? It recommends steady-state or rest.

The silo problem nobody else solves.

Strava knows your run but not your HRV. Oura knows your sleep but not your nutrition. Garmin knows your VO2 Max but not your caffeine intake. Every health app is brilliant in its silo and blind to everything else.

Body Vitals reads from Apple Health - where ALL your apps converge - and surfaces cross-app correlations no single app can:

  • "HRV is 18% below baseline and you logged 240mg caffeine via MyFitnessPal. High caffeine suppresses HRV overnight."
  • "Your 7-day load is 3,400 kcal (via Strava) and HRV is trending below baseline. Ease off intensity today."
  • "Your VO2 Max of 46 and elevated HRV signal peak readiness. Today is ideal for threshold intervals."
  • "You did a 45min strength session yesterday via Garmin. Consider cardio or a different muscle group today."

No other app can do this because no other app reads from all these sources simultaneously.

The kicker: the algorithm learns YOUR body.

Most health apps use population averages forever. Body Vitals starts with research-backed defaults, then after 90 days of YOUR data, it computes the coefficient of variation for each of your five health signals and redistributes scoring weights proportionally. If YOUR sleep is the most volatile predictor, sleep gets weighted higher. If YOUR HRV fluctuates more, HRV gets the higher weight. Population averages are training wheels - this outgrows them. No other consumer app does personalized weight calibration based on individual signal variance.

The free tier is not a demo. You get:

  • Full widget stack (small, medium, lock screen)
  • Daily readiness score from five research-backed inputs
  • 20+ health metrics with dedicated detail views
  • Anomaly timeline (7 anomaly types - HRV drops, elevated HR, low SpO2, BP spikes, glucose spikes, low steadiness, low daylight - with coaching notes)
  • Weekly Pattern heatmap (7-day x 5-metric grid)
  • VO2 Max-aware workout suggestions
  • Matte Black HUD theme (glass cards, neon glow, scan line animations)

No trial. No expiry. No lock.

Pro ($19.99 once - not a subscription) is where it gets wild:

  • Five composite health scores on a large home screen widget: Longevity, Cardiovascular, Metabolic, Circadian, Mobility. Each combines multiple HealthKit inputs into a 0-100 number backed by clinical research.
  • Readiness Radar - five horizontal bars showing exactly which dimension is dragging your score down. Oura gives you one number. Whoop gives you one number. This shows you WHERE the problem is.
  • Recovery Forecast - slide a sleep target AND planned training intensity to see how tomorrow's readiness changes. You can literally game-theory your recovery.
  • On-device AI coaching via Apple Foundation Models. Not ChatGPT. Not cloud. Your health data never leaves your iPhone. It reasons over HRV, sleep, VO2 Max, caffeine, workouts, nutrition - and gives you coaching that actually references YOUR numbers.
  • StandBy readiness dial for your nightstand - one glance for "go or recover."
  • Five additional liquid glass themes.

Price comparison that will make you angry:

App Cost
Body Vitals Pro $19.99 once
Athlytic $29.99/year
Peak: Health Widgets $19.99/year
Oura $350 hardware + $6/month
WHOOP $199+/year

You pay once. You own it forever. Access never expires.

No account. No subscription. No cloud. No renewals. Health data stays on your iPhone.

Body Vitals:Health Widgets - "The Bloomberg Terminal for Your Body"

Happy to answer anything about the science, the algorithm, or the implementation. Thanks!

u/escapethematrix_app — 9 days ago