# THRØVE - darinbuilds.com

> AI Strength & Conditioning Coach. Not generated. Actually coached.

One continuous program. A new workout every day, each one built on what you've already done.

WodSpark could spit out a workout. But a workout isn't a program - I wanted something that remembers Monday when it writes Friday.

## The Coach

A generator gives you a workout. THRØVE gives you a program. Before it writes your next block, it reads what you did, what you skipped, and what's been beat to death - then programs forward. One continuous calendar, not a stack of disconnected weeks. It remembers Monday when it writes Friday.

## Every Workout Has a Voice

Every workout opens with a brief: what today is for, why it's built the way it is, what you should feel by the end. The cues shift mid-workout as you move through it. Every workout has one signature moment - the part that's named, the part you'll remember.

## The Coach's Voice

- **Warmup** (10 min) - Thruster build-up, 5-5-3. Empty bar, then 65, then 85 - feel the catch.
- **The WOD** (8 min · 21-15-9) - Unbroken on the 21 if you can. Breathe at the top, not the bottom.
- **Signature Moment** - The round of 15 thrusters. The first round was adrenaline. This is the truth. If you hold on here, the 9s are yours. **[Signature Moment]**
- **Cooldown** (4 min) - Slow walk, couch stretch, dead hang. Let the spring unwind.

## How It's Built

THRØVE's workout programming wasn't validated at a desk. Darin ran the entire program himself - doing every workout on the calendar in order, one per day, for weeks. After each session he used THRØVE's built-in rating and suggestion feature to score the workout and leave a note on what was wrong. He then used Claude to pull those ratings directly from the database and worked through the low-rated workouts to strengthen the programming and define a higher standard. Across 20+ such notes, that standard was applied in both directions: it raised every future workout, and the existing low-rated workouts were rewritten to meet the new bar. Finally, the learnings were encoded into the harness tooling itself - the commands and rules that generate workouts - so new workouts meet the standard by default. The model never set the definition of a good workout; Darin did, then taught the system that standard so it holds without him. At runtime no model is called: local embeddings serve the already-vetted workout directly from the device.

## Equipment Tiers

- **CrossFit** - Full barbell + rig programming. Periodized strength, conditioning, and skill work built around what your box actually has.
- **Dumbbell** - Serious training with just dumbbells. Not a downgrade from CrossFit - a different discipline with its own programming logic.
- **Bodyweight** - No equipment, no excuses. Gymnastic progressions and conditioning that scales to any fitness level, anywhere.

## Tech Stack

Next.js 15, Postgres + pgvector, ONNX local embeddings, Claude API (on-demand only), Zod, Better Auth, React 19, TanStack Query, Vitest (2,200+ tests), Live App

## Links

- [throve.fit](https://throve.fit)
