// project · rackd

Rackd

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

// why

Hevy is a beautiful spreadsheet. Boostcamp is a curated program catalog. Fitbod hands every user the same template. RP Strength is a real coach at $25/mo. None of them read your last session and draft your next one. Rackd does — one paragraph of steering ("strength, 4×/week, knees acting up so easy on heavy hinges") and the AI coach builds session one in fifteen seconds. Finish it, hit the locker room, the next session is already queued — adapted to what you actually hit. That's the moat. Logging is table stakes; the AI coach is the product. $5/mo or €5/mo. Lifetime $79 / €79.

// look

Rackd adaptive program — AI-drafted next session with full prescription
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.
Rackd session list with amber in-progress row
Mid-session list. Done = emerald, current = amber + 'in progress' pill, queued = neutral. State at a glance.
Rackd in-session set logger with big-number RPE input
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.
Rackd home dashboard with the next session card
Home. One Up-next card — adaptive workout, prog name, View / Start. Off-script 'Extra session' beneath. Six explore tiles below.
Rackd new-program — adaptive panel with steering chips
New program. Adaptive is default — one paragraph of steering, four preset chips (Hypertrophy / Strength / Lean / Beginner), session 1 ready in seconds.
Rackd exercise DB — 165+ lifts with 3D muscle anatomy
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

how it's built
  • TanStack StartReact 19 + Router + SSR on Workers
  • Cloudflare WorkersOne worker, edge-rendered, no Node
  • Cloudflare D1 + KV + R2SQLite, cache, uploads
  • Drizzle ORMTyped schema, SQLite dialect, migrations
  • HonoAPI at /api/*, same-origin, no CORS
  • better-authEmail + password, PBKDF2 via Web Crypto
  • OpenAI gpt-4oAdaptive cycle generator + coach chat
  • ZodShared validators, FE + BE
  • Three.js + r3fProcedural anatomy, click-to-select muscles
  • vite-plugin-pwaInstallable, offline shell, service worker
  • IndexedDBOffline-first set log; syncs when signed in
  • ResendTransactional email, admin invites

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.

// status

  • Live at gym.davidbroza.dev. Installable as a PWA; works offline.
  • Adaptive cycles generate session-by-session via gpt-4o, grounded in the lifter's last 5 completed sessions + profile + steering text. ~$0.03 per generation.
  • Free tier: 5 AI generations to try. Pro $4.99 / €4.99 per month, or $79 / €79 lifetime → unlimited. Trial gate is enforced server-side via the same ai_usage_events row that already tracked cost.
  • 165+ exercises seeded with descriptions across barbell / dumbbell / kettlebell / bodyweight / machine / cable / band / sled / ring / cardio. Re-seedable from /admin.
  • Calendar sync via iCal subscription feed. Self-hosted analytics — no third party gets the user data.
  • Next: Lemon Squeezy checkout to lift the trial gate, Oura/Whoop/Strava OAuth so the coach can read recovery, shareable session OG cards for a viral loop.

// work together

Like what you see? I build products like this end-to-end — idea to shipped, front-end to infra. Hiring, have an idea you want made, or just want to poke at what I built here? Drop me a line — I reply.