Sadhana.

The practice is the path.

Sadhana (SAH-dah-nah) is a Sanskrit word for disciplined daily practice done with intention. The practice itself is the path.

A personal training system designed and built by Primal Patel with AI, for his own training. Strength, running, and health data in one place, built around a 114 week plan that runs through the 2027 Chicago Marathon and on to November 2028.

Current phase
Cut 1
Roadmap
Week 8 of 114
Next milestone
Photo Shoot

Sadhana is a Sanskrit word for disciplined daily practice done with intention. The app is private. This page is the tour.

The Today screen, recreated from the November 2026 snapshot. The app itself stays private.

Why it exists

Four apps. None of them knew the whole story.

My training data lived in four places. My coach's app held the program. Apple Health held my weight, steps, and heart rate. MyFitnessPal held my food. Strava held my runs. Each one knew a piece of my training, and none of them knew what the others knew.

So I built the one system that does. Sadhana knows whether a day is strength or cardio, holds my full 114 week plan, and pulls the health numbers in on its own.

It asks me for exactly one thing: the weights and reps I lift. Everything else, it already knows.

  • One input. Weights and reps, typed once, in the gym.
  • One plan. 114 weeks, from the current cut to the marathon and beyond.
  • One story. Lifting, running, and health data finally in the same place.
  • Coach appKnew the program, nothing else
  • Apple HealthKnew my body, not my plan
  • MyFitnessPalKnew my food, not my training
  • StravaKnew my runs, not my lifting
  • SadhanaKnows all of it, in one place

No syncing between apps by hand. No spreadsheet holding it together. No guessing what last week looked like.

What it does

Six jobs, done quietly. The app stays out of the way and lets the training be the point.

Train

Log a full workout in one save. No tapping save on every set. Type the numbers, finish, done.

  • Prefilled from your last session, so you start from where you left off
  • Plate calculator for the barbell, worked out for you
  • 90 second rest timer that beeps and resets itself
  • Per exercise history with personal bests, one tap away
Rest timer · flat 90 seconds, every lift
0:34
Beeps, then resets to 1:30

Health on autopilot

Weight, steps, workouts, and heart rate flow in from Apple Health on their own, refreshed every few hours.

  • I never type a health number. Not weight, not steps, not a run
  • Scale readings arrive through Apple Health automatically
  • Food stays in MyFitnessPal. Only the totals show up here
How a number gets in
Apple Health→Sadhana→Today + Progress

Day types

The app knows what kind of day it is before I open it. That one decision shapes everything else.

  • Strength days are the only days I log anything
  • Cardio days and runs fill themselves in from Health
  • An incline walk never asks me for reps and weight. It just shows up, done
My week
MonFull body
TueUpper
WedIncline walk
ThuEasy run
FriFull body
SatZone 2 run
SunRest

Progress

Clean analytics over everything the app collects, so progress is visible instead of felt.

  • Weight and body fat trend, straight from the scale through Health
  • Running miles and total weight lifted over time
  • Lift progression for every exercise, set by set
  • Progress photos, kept beside the numbers they belong with
Deadlift · latest top set
November 20265 x 275 lbPersonal best
Estimated 1 rep max321 lb

Roadmap

The full 114 week plan on one graph. It starts at 155 lb, cuts and builds in phases, and ends at 169 lb in November 2028. Every week of training sits somewhere on this line, including the marathon in the middle of it.

145 155 165 lb 155 lb W0 · Sep 2026 145 lb W11 · Nov 2026 162 lb W47 · Aug 2027 152 lb W58 · Oct 2027 169 lb W94 · Jul 2028 Hold W114 · Nov 2028
Cut 1
155 to 145 lb. Where I am now, week 8.
Build 1
Up to 162 lb by August 2027.
Cut 2
Down to 152 lb, marathon season.
Build 2
Up to 169 lb by July 2028.
Sustain
Hold 169 lb to November 2028.

Share images

Finished workouts become Instagram Story graphics in the same style as the app: my stats over the workout, my phase and week, and the countdown to my next race.

  • People respond to the data, so the data is the design
  • Built from the logged session itself, nothing retyped
  • The same card works for a big lift, a long run, or a race

Directed, not generated

How this was actually built, and why I think it matters professionally.

"I did not write the code. I made every decision the code obeys."

I acted as the product owner on my own app. I wrote the requirements. I made every design and data decision. I tested it live in my own workouts, night after night, and iterated on what did not work at 6 in the morning with chalk on my hands.

AI did the construction. That split is the honest story, and it is also the useful one. Directing a build like this is product work: knowing the user, in this case me, well enough to make hundreds of small calls correctly, and having the discipline to say no to everything that adds clutter.

The result is not a demo. It is the system I train with every day, holding my real program, my real logs, and my real health history.

For anyone hiring or promoting people who work with AI, this is my evidence: the value was never the code. It was the decisions. A few of them are below, because decisions are easier to judge than claims.

  1. 01

    Health data is read only, by rule

    Only weights and reps are ever typed into Sadhana. Weight, body fat, steps, heart rate, and workouts arrive from Apple Health and cannot be edited in the app. One source of truth per number, and no manual entry to drift, duplicate, or quietly go stale.

  2. 02

    Cardio days are never logged

    Wednesday's incline walk and my Thursday and Saturday runs have no start button, no set boxes, and no save. When Health records the session, the day simply reads as done, with the real duration, distance, and heart rate. If a machine already knows it, the user should never be asked for it.

  3. 03

    Sets read reps first, then weight

    Everywhere in the app, a set shows as 5 x 275, five reps at 275 lb, because that is how I read it mid workout, breathing hard, deciding the next set. Storage never changed. Only the presentation bent to the human.

  4. 04

    The app knows my races

    Sadhana holds my race calendar and counts down to each one, from the photo shoot this month to the Chicago Marathon next October. The plan, the shares, and the Today screen all know what is coming. Context is a feature.

Requirements writing Product ownership Design decisions Data rules and governance Live user testing, nightly Iteration under real use Scope discipline

Training snapshot

Real numbers from the app, as of November 2026. Nothing here is a projection.

Current phase
Cut 1
Week 8 of 114 on the roadmap. Shoot block, 1,500 calories, 15,000 steps a day through the photo shoot.
Deadlift · top set
5 x 275 lb
Estimated 1 rep max of 321 lb, calculated from that set.
Body weight
148.4 lb
Body fat 12.6 percent. Down from 155 lb at the start of Cut 1.
Running
35.0 miles
Across 6 runs in the current training window.
Chicago Half Marathon
13.4 miles
Finished 09/27/2026. The longest of those 6 runs, and a checkpoint on the way to the full.
VO2 max
53.7
From Apple Health. The engine behind the hybrid plan: lift heavy, run long.

Key dates

  • Photo ShootThe finish line of the shoot block and Cut 1's first phase11/27/2026
  • Hyrox ChicagoNavy Pier. Goal is to finish strong02/14/2027
  • Shamrock Shuffle 8KLeg one of the Chicago Distance Series03/21/2027
  • Chicago 13.1Half marathon, the marathon's dress rehearsal06/06/2027
  • Chicago MarathonRunning as a St. Jude Hero. See below10/10/2027

The bigger why

The app tracks the training. This is what the training is for.

1964 to 2026
Deepak Patel

My dad. He gave to St. Jude Children's Research Hospital for as long as I can remember, through my whole childhood, and he kept giving during his own fight with cancer.

When I applied to run the Chicago Marathon for charity, St. Jude was the team that picked me. I took that as him pointing me at the same work.

"Don't give up."What I tell myself when a run or a lift gets genuinely hard

On October 10, 2027, I run the Chicago Marathon as a St. Jude Hero, in memory of my dad. It is the biggest date inside Sadhana, the one the roadmap bends around, and the reason a training app carries a fundraising story at all.

Every phase on that graph, every early morning between now and then, is building toward one start line and one purpose: continuing his legacy of giving, one mile at a time.

My supporter page follows the whole road, week by week. If you want to be part of it, GivenGain is where donations go, directly to St. Jude.

Fundraising minimum: $3,000 for St. Jude Children's Research Hospital. Marathon countdown: counting down.