Stop guessing weights. Tell the coach what you want — strength, size, lean — and it drafts every session for you. Exercises, sets, reps, weights, RPE, tuned to what you actually lifted last time. The session writes itself; you just load the bar. $5/mo.
∞ Adaptive AI cyclesOffline-first PWAEdge-rendered3D anatomy165+ exercisesCoach chatLive
The next session is already drafted. The AI reads what you just did, your steering text, your injuries — drafts a real session in fifteen seconds with sets × reps × weight × RPE per exercise. Tap Start, the timer runs.
Mid-session list. Done = emerald, current = amber + 'in progress' pill, queued = neutral. State at a glance.
Set logger. Reps + Weight + RPE all on the same big-number treatment. 0.5 step on RPE so the calls (7 / 8 / 9 / 10) land in two taps.
Home. One Up-next card — adaptive workout, prog name, View / Start. Off-script 'Extra session' beneath. Six explore tiles below.
New program. Adaptive is default — one paragraph of steering, four preset chips (Hypertrophy / Strength / Lean / Beginner), session 1 ready in seconds.
Exercise DB. 165+ seeded lifts across barbell, dumbbell, kettlebell, bodyweight, machine, cable, band, ring, sled, cardio. Tap a lift — the body lights up, primary muscles in hot orange, secondary fade-in. Full detail page has the demo video + chapters.
// stack
One Cloudflare Worker runs everything: SSR, API, static assets, D1. The adaptive generator fires in the workout-complete handler viawaitUntil— by the time the lifter unracks the bar, the next session is queued. Client-side IndexedDB still owns the offline log; sets go phone-first, sync server-second.